提问人:CHANHYEOK KIM 提问时间:11/14/2023 更新时间:11/14/2023 访问量:29
Python 中的 list() 和方括号有什么区别?
What are the differences between list() and square bracket in Python?
问:
我可以放入一些字符串,并将其制作成列表,每个字符都分开。
some_string = input()
string_list = list(*some_string)
print(string_list)
但是,如果字符串长度大于 2,则 list 不会得到此参数。 相反,当我使用方括号“[]”时,即使它大于 2,它也能正常工作。
some_string = input()
string_list = [*some_string]
print(string_list)
这意味着这两者是不同的。
所以我试着找出这两者之间的区别,但这两者得到了下面写的相同的帮助文档。help(list())
help([])
Help on list object:
class list(object)
| list(iterable=(), /)
|
| Built-in mutable sequence.
|
| If no argument is given, the constructor creates a new empty list.
| The argument must be an iterable if specified.
|
| Methods defined here:
\-- More --
如果这两者相同,为什么一个有效,为什么另一个不行?
答:
0赞
Kachida
11/14/2023
#1
对于 list() 构造函数,它接受作为单个参数的可迭代对象作为参数,是的,在上面的代码片段字符串中是可迭代的(即变量:some_string)。如果我们解压缩 *some_string,它会导致该构造函数的许多参数,并且会导致错误,因为列表构造函数只接受一个参数
有关何时在 Python 中使用列表构造函数的详细说明,请参阅此链接: https://www.pythonmorsels.com/using-list/
some_string='World'
some_list=list(some_string)
print(some_list)
评论