从Python列表中去除单引号

时间:2019-12-03 18:38:49

标签: python

我有一个看起来像这样的python列表:

['22', '0', '0', '0', '1, 0, 0, 0, 0']

我希望它看起来像这样:

[22, 0, 0, 0, 1, 0, 0, 0, 0]

由于最后一个元素不是整数,因此无法按照建议的here使用map。按照建议的here使用ast并不能完全解决问题:

[22, 0, 0, 0, (1, 0, 0, 0, 0)]

任何建议将不胜感激。

3 个答案:

答案 0 :(得分:6)

只需在逗号上分割,然后将其展平/映射为int:

>>> [int(x) for item in data for x in item.split(',')]
[22, 0, 0, 0, 1, 0, 0, 0, 0]

答案 1 :(得分:3)

l = ['22', '0', '0', '0', '1, 0, 0, 0, 0']
>>> k = ','.join(l)
>>> k
'22,0,0,0,1, 0, 0, 0, 0'
>>> k.split(',')
['22', '0', '0', '0', '1', ' 0', ' 0', ' 0', ' 0']

答案 2 :(得分:0)

您可以尝试:

x=['22', '0', '0', '0', '1, 0, 0, 0, 0']

y=eval(str(x).replace("'", ""))