为什么我需要两对括号来声明一个数字列表

也许看起来很愚蠢,但我知道如果我想声明一个列表,我可以这样做:

list1 = list("Hello")

但是为什么我需要 2 组括号来声明它的数字:

list2 = list((2,3,4,5))


心有法竹
浏览 180回答 3
3回答

慕丝7291255

该文档说明:list()  Convert an iterable (tuple, string, set, dictionary) to a list.该函数list只需要一个单一的可迭代参数; list(1,2,3,4)将是一个TypeError. 由于字符串在 python 中是可迭代的,因此它是一个正确的函数调用。为了使用您的整数,您需要将它们转换为某种形式的可迭代对象。通过写入,list2 = list((2,3,4,5))您可以将整数转换为可迭代的元组。

牛魔王的故事

list()从 Iterable 构造一个列表。在您的示例中,字符串是可迭代的(人们指出的一系列字符),而元组也是可迭代的(使用圆括号)。在您的示例中,您将一个元组传递给list()函数。您可以跳过使用内置list()函数并直接使用方括号创建列表:mylist = [1,2,3]

慕哥6287543

在第一种情况下,您在 str 上调用 list() ,它可以隐式转换为一系列字符。如果仔细观察,对于整数,您正在对整数元组调用 list()。不确定您是否正在探索,但最直接的方法是 list2 = [2,3,4,5]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python