我有一个看起来像这样的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)]
任何建议将不胜感激。
答案 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("'", ""))