组合Python中字典列表中的值
假设我们有一个Python词典,其值是键值对中的列表。我们需要创建一个列表,它将表示给定列表中键和值的所有可能组合。
使用`sorted`和`product`
`itertools`中的`product`函数可用于创建作为参数提供的可迭代对象笛卡尔积。我们对词典进行排序,并使用两个`for`循环来创建词典中列表中所有可能的键值对组合。
示例
import itertools as it
Adict = {
"Day": ["Tue", "Wed"],
"Time": ["2pm", "9am"],
}
# Sorting Adict
sorted_Adict = sorted(Adict)
# Using product after sorting
res = [dict(zip(sorted_Adict, prod))
for prod in it.product(*(Adict[sorted_Adict]
for sorted_Adict in sorted_Adict))]
# Printing output
print(res)输出
运行以上代码可产生以下结果 -
[{'Day': 'Tue', 'Time': '2pm'}, {'Day': 'Tue', 'Time': '9am'}, {'Day': 'Wed', 'Time': '2pm'}, {'Day': 'Wed', 'Time': '9am'}]使用zip
在这种方法中,我们使用`zip`函数和`itertools`中的`product`函数来创建所有可能的键和值组合,形成该列表词典。
示例
import itertools as it
Adict = {
"Day": ["Tue", "Wed"],
"Time": ["2pm", "9am"],
}
# Sorting Adict
sorted_Adict = sorted(Adict)
# Using product after sorting
res = [[{key: value} for (key, value) in zip(Adict, values)]
for values in it.product(*Adict.values())]
# Printing output
print(res)输出
运行以上代码可产生以下结果 -
[[{'Day': 'Tue'}, {'Time': '2pm'}], [{'Day': 'Tue'}, {'Time': '9am'}], [{'Day': 'Wed'}, {'Time': '2pm'}], [{'Day': 'Wed'}, {'Time': '9am'}]]
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP