python - 基于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'],
[
解决方案
你应该使用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)
推荐阅读
- vb.net - SerialPort.ReadByte 突然返回零而不是连接电缆的版本号
- mysql - 如何修复 GROUP_CONCAT
- localization - SCORM包(电子学习课程)本地化
- gnuplot - gnuplot 调色板随缩放改变颜色
- python - 如何计算盒子分类/包装问题中所需的队列数?
- javascript - 解决方案/黑客向浏览器呈现非关闭标签
- python - 使用太多运算符验证后缀
- eclipse - 将 selenium webdriver 代码推送到 Bitbucket 时出现授权错误
- javascript - 如果动态按钮发生变化,如何从动态按钮获取数据属性
- python - 使用 anaconda 安装后如何访问库链接?