Answers:
像这样:
>>> text = 'a,b,c'
>>> text = text.split(',')
>>> text
[ 'a', 'b', 'c' ]
另外,eval()
如果您信任字符串是安全的,则可以使用:
>>> text = 'a,b,c'
>>> text = eval('[' + text + ']')
只是补充现有的答案:希望将来您会遇到更多类似的情况:
>>> word = 'abc'
>>> L = list(word)
>>> L
['a', 'b', 'c']
>>> ''.join(L)
'abc'
但是,你正在处理什么用,现在,一起去@ 卡梅隆的回答。
>>> word = 'a,b,c'
>>> L = word.split(',')
>>> L
['a', 'b', 'c']
>>> ','.join(L)
'a,b,c'
以下Python代码会将您的字符串转换为字符串列表:
import ast
teststr = "['aaa','bbb','ccc']"
testarray = ast.literal_eval(teststr)
json
例如:json.loads(teststr)
在python中,您几乎不需要将字符串转换为列表,因为字符串和列表非常相似
如果您确实有一个应该是字符数组的字符串,请执行以下操作:
In [1]: x = "foobar"
In [2]: list(x)
Out[2]: ['f', 'o', 'o', 'b', 'a', 'r']
请注意,字符串非常类似于python中的列表
In [3]: x[0]
Out[3]: 'f'
In [4]: for i in range(len(x)):
...: print x[i]
...:
f
o
o
b
a
r
字符串是列表。几乎。
如果您实际上想要数组:
>>> from array import array
>>> text = "a,b,c"
>>> text = text.replace(',', '')
>>> myarray = array('c', text)
>>> myarray
array('c', 'abc')
>>> myarray[0]
'a'
>>> myarray[1]
'b'
如果您不需要数组,只想按索引查看您的字符,请记住字符串是可迭代的,就像列表一样,除了它是不可变的:
>>> text = "a,b,c"
>>> text = text.replace(',', '')
>>> text[0]
'a'
所有答案都很好,还有另一种方法,即列表理解,请参见下面的解决方案。
u = "UUUDDD"
lst = [x for x in u]
对于逗号分隔的列表,请执行以下操作
u = "U,U,U,D,D,D"
lst = [x for x in u.split(',')]
我通常使用:
l = [ word.strip() for word in text.split(',') ]
strip
删除单词周围的空格。
要转换string
具有a="[[1, 3], [2, -6]]"
我编写但尚未优化的代码的形式:
matrixAr = []
mystring = "[[1, 3], [2, -4], [19, -15]]"
b=mystring.replace("[[","").replace("]]","") # to remove head [[ and tail ]]
for line in b.split('], ['):
row =list(map(int,line.split(','))) #map = to convert the number from string (some has also space ) to integer
matrixAr.append(row)
print matrixAr
例子1
>>> email= "myemailid@gmail.com"
>>> email.split()
#OUTPUT
["myemailid@gmail.com"]
例子2
>>> email= "myemailid@gmail.com, someonsemailid@gmail.com"
>>> email.split(',')
#OUTPUT
["myemailid@gmail.com", "someonsemailid@gmail.com"]