Python:多个值在字典中输入到一对键/值
这是我的输入字典:Python:多个值在字典中输入到一对键/值,python,pandas,Python,Pandas,这是我的输入字典: dict = {"key1": [value1, value2], "key2": ["value3", "value4", "value5"]} 我需要以下结果: [键1,值1,键1,值2,键2,值3…] 在python中如何实现这一点 我想使用它来创建一个table1,以便通过值将其连接到table2 既然你给熊猫贴了标签 既然你给熊猫贴标签了 如果您想要纯Python的方法: [(k, inner) for k, v in dct.items() for inner
dict = {"key1": [value1, value2], "key2": ["value3", "value4", "value5"]}
我需要以下结果:
[键1,值1,键1,值2,键2,值3…]
在python中如何实现这一点
我想使用它来创建一个table1,以便通过值将其连接到table2 既然你给熊猫贴了标签
既然你给熊猫贴标签了
如果您想要纯Python的方法:
[(k, inner) for k, v in dct.items() for inner in v]
我建议不要在字典中使用dict这个名称,因为它会覆盖内置类型构造函数。如果您想要纯Python的方法:
[(k, inner) for k, v in dct.items() for inner in v]
我建议不要在字典中使用dict这个名称,因为它会覆盖内置类型构造函数。在3.6版之前,首先只在Python中实现dict是没有顺序的。因此,结果元组列表中的顺序可能与dict的赋值不同 鉴于此,您可以:
di={"key1": ["value1", "value2"], "key2": ["value3", "value4", "value5"]}
result=[]
for k,li in di.items():
for e in li:
result.append((k,e))
首先,在3.6版之前,仅用Python实现dict是不需要订购的。因此,结果元组列表中的顺序可能与dict的赋值不同 鉴于此,您可以:
di={"key1": ["value1", "value2"], "key2": ["value3", "value4", "value5"]}
result=[]
for k,li in di.items():
for e in li:
result.append((k,e))
看起来你只需要这样简单的东西:
my_dict = {"key1": ["value1", "value2"], "key2": ["value3", "value4", "value5"]}
my_list = []
for my_key, value_list in my_dict.items():
for value in value_list:
my_list.append({my_key:value})
print(my_list)
输出:
[{'key1': 'value1'}, {'key1': 'value2'}, {'key2': 'value3'}, {'key2': 'value4'},
{'key2': 'value5'}]
我故意让它非常基本。迭代字典,迭代每个值列表,构建字典,将该字典附加到新列表中。有几种方法可以做到这一点,这只是一个非常可读/易于理解的选项。看起来您只需要这样简单的东西:
my_dict = {"key1": ["value1", "value2"], "key2": ["value3", "value4", "value5"]}
my_list = []
for my_key, value_list in my_dict.items():
for value in value_list:
my_list.append({my_key:value})
print(my_list)
输出:
[{'key1': 'value1'}, {'key1': 'value2'}, {'key2': 'value3'}, {'key2': 'value4'},
{'key2': 'value5'}]
我故意让它非常基本。迭代字典,迭代每个值列表,构建字典,将该字典附加到新列表中。有几种方法可以做到这一点,这只是一个非常可读/易于理解的选项。使用列表理解
使用列表理解
请根据您对这项任务的研究,展示您所做的尝试。什么东西没有达到预期效果?请根据您对这项任务的研究,说明您尝试了什么。什么东西没有按预期的那样起作用?@jezrael我抓到你了,这太慢了beautiful@jezrael我抓到你了,这真是太美了