我是python的新手。 str.split()函数用于拆分字符串,但是列表后面的逻辑("字符串")用于拆分字符串
>>> list("String")
['S', 't', 'r', 'i', 'n', 'g']
为什么不创建一个像['String']
答案 0 :(得分:2)
list
接受一个可迭代的参数,并生成一个列表,其中每个值都有一个元素来自iterable。 str
是可迭代的,由字符串的每个字符组成,作为单独的元素。请注意,您无法编写list(1)
来获取列表[1]
,因为1
不可迭代。
答案 1 :(得分:2)
在Python中,list()
将采用任何迭代并尝试将其转换为列表。由于字符串是可迭代的(在引擎盖下,它实际上只是一个字符数组),list()
命令将每个字符转换为一个项目。
要创建第一项为'String'
的列表,您需要使用列表速记:
my_list = ['String']
或者在传递给list()
时将字符串包装在另一个可迭代中,这感觉非常多余
my_list = list(['String'])
答案 2 :(得分:0)
list()将可迭代字符串转换为一个列表,该列表由找到的每个元素组成。
https://docs.python.org/3.5/library/stdtypes.html?highlight=list#list
构造函数构建一个列表,其项目与iterable的项目相同且顺序相同。 iterable可以是序列,支持迭代的容器,也可以是迭代器对象。如果iterable已经是一个列表,则会生成并返回一个副本,类似于iterable [:]。例如,列表(' abc')会返回[' a',' b',' c']和列表((1,2) ,3))返回[1,2,3]。如果没有给出参数,构造函数将创建一个新的空列表[]。
答案 3 :(得分:0)
试试这个:
list(["string"])
['string']
看起来当您使用list("String")
时,您将文本作为元素发送以创建列表,而不是完整字符串。
答案 4 :(得分:0)
list()
遍历字符串,将每个项目附加到列表中。如果您想创建一个包含单个元素'string'
的列表,您可以执行类似
x = list()
to_add = 'string'
x.append(to_add)
print(x)
这将创建一个类似于['string']
答案 5 :(得分:0)
list(" strings")将使您的变量可迭代
如果您想将变量显示为["字符串"]
你的清单应该像这样宣布
list=["strings"]
>>>>>>>>>> list[0] ### should display
>>>>>>>>>> "strings"
>>>>>>>>>> list ### if it's lenght is equal to 1
>>>>>>>>>> ["strings"] ##### this should be the result