Python 如何将列表列表中的字符串元组转换为列表列表?
假设我们有一个具有此结构的列表:Python 如何将列表列表中的字符串元组转换为列表列表?,python,list,tuples,Python,List,Tuples,假设我们有一个具有此结构的列表: chunks=[[('Spain', 'A1'), ('Spain', 'A2'), ('Spain', 'A3'), ('Spain', 'A4')]] [['Spain', 'A1'], ['Spain', 'A2'], ['Spain', 'A3'], ['Spain', 'A4']] 我正在尝试将其更改为以下结构: chunks=[[('Spain', 'A1'), ('Spain', 'A2'), ('Spain', 'A3'), ('Spain'
chunks=[[('Spain', 'A1'), ('Spain', 'A2'), ('Spain', 'A3'), ('Spain', 'A4')]]
[['Spain', 'A1'], ['Spain', 'A2'], ['Spain', 'A3'], ['Spain', 'A4']]
我正在尝试将其更改为以下结构:
chunks=[[('Spain', 'A1'), ('Spain', 'A2'), ('Spain', 'A3'), ('Spain', 'A4')]]
[['Spain', 'A1'], ['Spain', 'A2'], ['Spain', 'A3'], ['Spain', 'A4']]
我尝试了[将x分块列出(x)]
,但没有任何变化
如何完成此任务?使用map
Ex:
chunks=[[('Spain', 'A1'), ('Spain', 'A2'), ('Spain', 'A3'), ('Spain', 'A4')]]
print(list(map(list, *chunks)))
# --> [['Spain', 'A1'], ['Spain', 'A2'], ['Spain', 'A3'], ['Spain', 'A4']]
或者使用一个额外的循环
# OR
print([list(j) for i in chunks for j in i])
你需要更深一层 假设
len(chunks)
始终为1,则可以使用索引:
>>> [list(x) for x in chunks[0]]
[['Spain', 'A1'], ['Spain', 'A2'], ['Spain', 'A3'], ['Spain', 'A4']]
如果<代码> LeN(Cukes)可能不为1,则需要考虑输出应该是什么。例如,您可能希望展平:
chunks=[
[('Spain', 'A1'), ('Spain', 'A2'), ('Spain', 'A3'), ('Spain', 'A4')],
[('Portugal', 'B1')]]
上面的代码应该可以工作,但是您缺少一个层,您可以将它嵌套在一个for循环中,在列表上迭代。对于元组列表,您的代码应该可以正常工作。为什么列表在另一个列表中?