首页 > 解决方案 > 基于python中的索引在列表之间移动项目

问题描述

我需要在 python 中重组一些列表,我正在努力让 for 循环正确。


original_lists = [
    ['item1', 'item2', 'item3', 'item4'],
    ['item5', 'item6', 'item7', 'item8'],
    ['item9', 'item10', 'item11', 'item12'],
    ['item13', 'item14', 'item15', 'item16'],
    ['item17', 'item18', 'item19', 'item20'],
    ]

对于原始列表中的每个列表,我想根据它们的索引移动项目并将它们移动到一个新列表(或创建一个新列表)

例如


new_lists= [
    ['item1', 'item5', 'item9', 'item13', 'item17'],
    ['item2', 'item6', 'items10', 'item14', 'item18'], 
    ['item3', 'item7', 'items11', 'item15', 'item19'],
    ['item4', 'item8', 'items12', 'item16', item20'],
    [

标签: pythonlistfor-loop

解决方案


你应该使用zip()

original_lists = [
    ['item1', 'item2', 'item3', 'item4'],
    ['item5', 'item6', 'item7', 'item8'],
    ['item9', 'item10', 'item11', 'item12'],
    ['item13', 'item14', 'item15', 'item16'],
    ['item17', 'item18', 'item19', 'item20'],
    ]
new_l=[list(i) for i in zip(*original_lists)]
print(new_l)

推荐阅读