Cli*_*Hui 106 python arrays string
如何将字符串转换为列表?
说字符串就像text = "a,b,c".转换后,text == ['a', 'b', 'c']希望text[0] == 'a',text[1] == 'b'?
Cam*_*ron 170
像这样:
>>> text = 'a,b,c'
>>> text = text.split(',')
>>> text
[ 'a', 'b', 'c' ]
Run Code Online (Sandbox Code Playgroud)
或者,eval()如果您信任该字符串是安全的,则可以使用:
>>> text = 'a,b,c'
>>> text = eval('[' + text + ']')
Run Code Online (Sandbox Code Playgroud)
Dro*_*ans 139
只是为了补充现有答案:希望您将来会遇到更多这样的事情:
>>> word = 'abc'
>>> L = list(word)
>>> L
['a', 'b', 'c']
>>> ''.join(L)
'abc'
Run Code Online (Sandbox Code Playgroud)
但是,你正在处理什么用,现在,一起去@ 卡梅隆的回答.
>>> word = 'a,b,c'
>>> L = word.split(',')
>>> L
['a', 'b', 'c']
>>> ','.join(L)
'a,b,c'
Run Code Online (Sandbox Code Playgroud)
小智 32
以下Python代码将您的字符串转换为字符串列表:
import ast
teststr = "['aaa','bbb','ccc']"
testarray = ast.literal_eval(teststr)
Run Code Online (Sandbox Code Playgroud)
fir*_*ynx 18
在python中,你很少需要将字符串转换为列表,因为字符串和列表非常相似
如果你真的有一个应该是字符数组的字符串,请执行以下操作:
In [1]: x = "foobar"
In [2]: list(x)
Out[2]: ['f', 'o', 'o', 'b', 'a', 'r']
Run Code Online (Sandbox Code Playgroud)
请注意,字符串非常类似于python中的列表
In [3]: x[0]
Out[3]: 'f'
Run Code Online (Sandbox Code Playgroud)
In [4]: for i in range(len(x)):
...: print x[i]
...:
f
o
o
b
a
r
Run Code Online (Sandbox Code Playgroud)
字符串是列表.几乎.
如果你真的想要数组:
>>> 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'
Run Code Online (Sandbox Code Playgroud)
如果您不需要数组,并且只想通过索引查找字符,请记住字符串是可迭代的,就像列表一样,只是它是不可变的:
>>> text = "a,b,c"
>>> text = text.replace(',', '')
>>> text[0]
'a'
Run Code Online (Sandbox Code Playgroud)
小智 7
如果要按空格分割,可以使用.split():
a = 'mary had a little lamb'
z = a.split()
print z
Run Code Online (Sandbox Code Playgroud)
输出:
['mary', 'had', 'a', 'little', 'lamb']
Run Code Online (Sandbox Code Playgroud)
小智 5
m = '[[1,2,3],[4,5,6],[7,8,9]]'
m= eval(m.split()[0])
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)
所有答案都很好,还有另一种方法,即列表理解,请参阅下面的解决方案。
u = "UUUDDD"
lst = [x for x in u]
Run Code Online (Sandbox Code Playgroud)
对于逗号分隔的列表,请执行以下操作
u = "U,U,U,D,D,D"
lst = [x for x in u.split(',')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
459999 次 |
| 最近记录: |