加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python中两个列表的排列映射

发布时间:2020-12-20 12:35:15 所属栏目:Python 来源:网络整理
导读:如何在 python中创建两个列表的排列映射? 例如,我有两个列表[1,2,3]和[‘A’,’B’,’C’] 然后我的代码应该生成一个包含6个词典的列表 [ {1:'A',2:'B',3:'C'},{1:'A',2:'C',3:'B'},{1:'B',2:'A',3:'A'},{1:'C',3:'A'} ] 解决方法 在列表理解中使用 zip 和
如何在 python中创建两个列表的排列映射?

例如,我有两个列表[1,2,3]和[‘A’,’B’,’C’]

然后我的代码应该生成一个包含6个词典的列表

[ {1:'A',2:'B',3:'C'},{1:'A',2:'C',3:'B'},{1:'B',2:'A',3:'A'},{1:'C',3:'A'} ]

解决方法

在列表理解中使用 zipitertools.permutations

>>> from itertools import permutations
>>> L1 = [1,3]
>>> L2 = ['A','B','C']
>>> [dict(zip(L1,p)) for p in permutations(L2)]
[{1: 'A',2: 'B',3: 'C'},{1: 'A',2: 'C',3: 'B'},{1: 'B',2: 'A',3: 'A'},{1: 'C',3: 'A'}]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读