也许看起来很愚蠢,但我知道如果我想声明一个列表,我可以这样做:list1 = list("Hello")但是为什么我需要 2 组括号来声明它的数字:list2 = list((2,3,4,5))
3 回答

慕丝7291255
TA贡献1859条经验 获得超6个赞
该文档说明:
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))
您可以将整数转换为可迭代的元组。

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

慕哥6287543
TA贡献1831条经验 获得超10个赞
在第一种情况下,您在 str 上调用 list() ,它可以隐式转换为一系列字符。如果仔细观察,对于整数,您正在对整数元组调用 list()。
不确定您是否正在探索,但最直接的方法是 list2 = [2,3,4,5]
添加回答
举报
0/150
提交
取消