当需要显示字典列表的所有组合时,使用简单的列表理解和 'zip' 方法以及 'product' 方法。
以下是相同的演示 -
from itertools import product my_list_1 = ["python", "is", "fun"] my_list_2 = [24, 15] print("第一个列表是:") print(my_list_1) print("第二个名单是:") print(my_list_2) temp = product(my_list_2, repeat = len(my_list_1)) my_result = [{key : value for (key , value) in zip(my_list_1, element)} for element in temp] print("结果是:") print(my_result)输出结果
第一个列表是: ['python', 'is', 'fun'] 第二个名单是: [24, 15] 结果是: [{'python': 24, 'is': 24, 'fun': 24}, {'python': 24, 'is': 24, 'fun': 15}, {'python': 24, 'is': 15, 'fun': 24}, {'python': 24, 'is': 15, 'fun': 15}, {'python': 15, 'is': 24, 'fun': 24}, {'python': 15, 'is': 24, 'fun': 15}, {'python': 15, 'is': 15, 'fun': 24}, {'python': 15, 'is': 15, 'fun': 15}]
所需的包被导入到环境中。
两个列表被定义并显示在控制台上。
两个列表的笛卡尔积是使用 'product' 方法计算的。
这个结果被分配给一个变量。
列表推导用于遍历列表,并使用第一个列表的元素和先前定义的变量的元素来创建字典。
这被分配给一个变量。
这是显示在控制台上的输出。