In [126]: lis=[('Knightriders',), ('The Black Knight',), ('Fly by Knight',), ('An Arabian Knight',), ('A Bold, Bad Knight',)]
In [127]: [x[0] for x in lis]
Out[127]:
['Knightriders',
'The Black Knight',
'Fly by Knight',
'An Arabian Knight',
'A Bold, Bad Knight']
或使用itemgetter:
^{pr2}$
或者:
In [131]: [next(x) for x in map(iter,lis)]
Out[131]:
['Knightriders',
'The Black Knight',
'Fly by Knight',
'An Arabian Knight',
'A Bold, Bad Knight']
或者按照@DSM的建议使用zip():
In [132]: zip(*lis)[0]
Out[132]:
('Knightriders',
'The Black Knight',
'Fly by Knight',
'An Arabian Knight',
'A Bold, Bad Knight')
或使用ast.literal_eval(最不推荐的解决方案或永远不要尝试此方法):
In [148]: from ast import literal_eval
In [149]: literal_eval(repr(lis).replace(",)",")"))
Out[149]:
['Knightriders',
'The Black Knight',
'Fly by Knight',
'An Arabian Knight',
'A Bold, Bad Knight']
最简单的方法是使用列表理解:
或使用
^{pr2}$itemgetter
:或者:
或者按照@DSM的建议使用
zip()
:或使用
ast.literal_eval
(最不推荐的解决方案或永远不要尝试此方法):相关问题 更多 >
编程相关推荐