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

Jos*_*ica 1 python iterable list

也许似乎是dum但我知道如果我想声明一个列表我可以这样做:

list1 = list("Hello")
Run Code Online (Sandbox Code Playgroud)

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

list2 = list((2,3,4,5))
Run Code Online (Sandbox Code Playgroud)

Jon*_*n R 6

该文档的状态:

list()  Convert an iterable (tuple, string, set, dictionary) to a list.
Run Code Online (Sandbox Code Playgroud)

该函数list只需要一个单一的可迭代参数; list(1,2,3,4)会是一个TypeError.由于字符串在python中是可迭代的,因此它是一个正确的函数调用.为了使用整数,您需要将它们转换为某种形式的可迭代.

通过编写,list2 = list((2,3,4,5))您可以将整数转换为可迭代的元组.

  • 更准确地说,没有额外的`(...)`OP将_multiple_参数传递给一个带有_single_ iterable参数的函数. (3认同)
  • 要理解的要点是`list`不接受可变数量的参数,每个参数都被视为新列表的单独元素. (3认同)