我有一个像["['a', 'b', 'c', 'd']", '109']
这样的列表,列表中有数组,数字。
如何将其转换为字符串"abcd"
?
我做了out = ' '.join(row)
,删除了逗号。我是Python的新手。
答案 0 :(得分:2)
列表中的第一个元素是列表的字符串表示,而不是列表。要使它成为一个列表,您可以像这样评估它:
from ast import literal_eval
l = ["['a', 'b', 'c', 'd']", '109']
print ''.join(literal_eval(l[0]))
输出:
abcd
答案 1 :(得分:2)
您可以使用ast.literal_eval
。但是,您最初不应该将数据转换为此格式,因此我建议您回过头来解决根本问题。
>>> import ast
>>> ''.join(ast.literal_eval("['a', 'b', 'c', 'd']"))
'abcd'
答案 2 :(得分:1)
这样做的好方法是使用re模块。
import re
out = ''
for character in list:
if re.search('[A-Za-z]', character):
out += character
答案 3 :(得分:1)
让我们说temp = [["a","b","c","d"], 109]
所以在python shell运行代码中打击:
str = temp [0]
//将数组[“a”,“b”,“c”,“d”]分配给str
''.join(str)
//在输出
abcd
字符串
不要忘记这个命令应该在python shell上运行!