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