python - 两个列表的操作
问题描述
假设我有一个包含单个长度元素的列表;
['z', 'x', 'y']
另一个有两个长度元素的列表;
[('x', 7), ('y', 1), ('z', 5)]
如何重新排列第二个列表,以便它的第一个元素(即 x、y、z ...)与第一个列表中的元素(即 z、x、y)的顺序完全相同,以便获得输出;
[('z', 5), ('x', 7), ('y', 1)]
解决方案
第二个列表可以简单地转换为字典,然后列表推导使其变得简单:
a = ['z', 'x', 'y']
b = dict([('x', 7), ('y', 1), ('z', 5)])
c = [(key, b[key]) for key in a]
推荐阅读
- haskell - 在构建组件之前运行自定义的每个组件`IO()`,与实际构建交错
- html - 当鼠标离开元素时如何设置悬停过渡
- primeng - 如何使用下拉列表过滤 primeNG 表并仅在按下应用按钮时应用过滤器?
- excel - 使用 VBA 将 Excel 范围从不同的工作表循环复制到 Word 文件时遇到问题
- javascript - 获取特定列表的值
- 项目
- php - 如果 booking_endDate 小于当前日期,则更新数据
- angular - 如何使用 jasmine 为注销服务正确编写单元测试?
- sql - Postgres - 计数跨更多表
- python - 施工后坚持 GradientTape
- azure-active-directory - 请求访问令牌 MS Graph 时的 Invalid_grant