python - python中两个列表的乘积
问题描述
如何组合 2 个列表,使列表 2 中的每个元素与列表 1 中的元素组合,以便“a”在每次迭代中仅与列表 1 中的一个元素组合,然后“b”仅与列表中的两个元素组合在每次迭代中列出 1。
list1= [1,2,3]
list2= [‘a’,‘b’,‘c’,‘d’,‘e’]
dict_list_2 = {‘a’ : 1 , ‘b’ : 2 , ‘c’ : 3 , ‘d’ : 4 , ‘e’ :5}
Expected Output: ('a',1) (a ,2 ) (a , 3) (b , 1 ,2) (b , 1 ,3) (b , 2 ,3) (b , 1 ,1) (b , 2 ,2) (b , 3 ,3) –
解决方案
假设您想要所有带有替换的组合list1
:
import itertools
list1= [1,2,3]
list2= list("abcde")
dict_list_2 = {"a" : 1 , "b" : 2 , "c" : 3 , "d" : 4 , "e" :5}
[(letter,) + product
for letter in list2
for product in itertools.product(list1, repeat=dict_list_2[letter])]
# out:
[('a', 1),
('a', 2),
('a', 3),
('b', 1, 1),
('b', 1, 2),
('b', 1, 3),
('b', 2, 1),
('b', 2, 2),
('b', 2, 3),
('b', 3, 1),
('b', 3, 2),
('b', 3, 3),
('c', 1, 1, 1),
('c', 1, 1, 2),
('c', 1, 1, 3),
('c', 1, 2, 1),
...
推荐阅读
- javascript - 为什么我无法访问我的 node.js 基本公共 API?
- java - 想要java代码检查传入文件的目录,验证现有文件并将邮件发送给带有文件名、时间戳的收件人
- wso2 - 使用 API Manager 进行 API 分析的错误
- java - 如何将数据从片段传递给活动?
- flutter - Flutter:在 SharedPreferences 中保存和获取多个值
- ios - SwiftUI:如何使用边距 10 修复前导和尾随
- java - 如何在邻接矩阵的广度优先搜索中跟踪每个顶点的深度?(爪哇)
- python - 将元组列表中的 y 坐标与条件进行比较
- windows - 无法终止在后台运行的 VMware 虚拟机
- vue.js - 路由器链接不呈现