我有一个如下列表:
>>> header
['Id', ["['GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']"]]
>>> type(header)
list
而且,如何将其更改为字符串,如下所示;
['Id','GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']
我尝试使用re.split('\[|\]|\"',str(header))
。但结果并非我想得到。
['',
"'Id', ",
'',
'',
"'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt'",
'',
'',
'',
'']
所以,任何建议都是希望。
答案 0 :(得分:0)
这个怎么样?
>>> header = ['Id', ["['GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']"]]
>>> str(header).replace('[','').replace(']','').replace('"','').replace("'",'').split(', ')
['Id', 'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']
答案 1 :(得分:0)
parsed = header[:1] + eval(header[1][0])
如果您始终拥有示例中的确切格式并且第二个字符串具有正确的Python语法,则此方法将起作用。
答案 2 :(得分:0)
如何使用正则表达式?
In [1]: import re
In [2]: re.findall("[A-Za-z0-9_\.]+", str(header))
Out[2]: ['Id', 'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']