Python 将(key:list)展开到包含所有映射对的字典中
我找不到另一个有我的问题的帖子,我正在努力想办法Python 将(key:list)展开到包含所有映射对的字典中,python,list,dictionary,Python,List,Dictionary,我找不到另一个有我的问题的帖子,我正在努力想办法 for value in options: industry = value.get_attribute('value') if ":" in industry: param, industry = industry.split(":",1) industry = industry.strip() data[industry] = states 产出: 'GENERAL_IND_M
for value in options:
industry = value.get_attribute('value')
if ":" in industry:
param, industry = industry.split(":",1)
industry = industry.strip()
data[industry] = states
产出:
'GENERAL_IND_MISC': ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']
期望输出:
'GENERAL_IND_MISC': 'Alabama', 'GENERAL_IND_MISC': 'Alaska', 'GENERAL_IND_MISC': 'Arizona', 'GENERAL_IND_MISC': 'Arkansas' etc...
基本上,将状态作为值,并为每个状态复制键,而不是放置列表,我尝试使用for循环,但它只对一个状态进行迭代。如注释中所述,字典键是唯一的(如果不是,它们根本就不是键)。我不知道你想实现什么,但你能做的最接近的事情是列出:
>>> d = {'GENERAL_IND_MISC': ['Alabama', 'Alaska']}
>>> [(k, v) for k, vs in d.items() for v in vs]
[('GENERAL_IND_MISC', 'Alabama'), ('GENERAL_IND_MISC', 'Alaska')]
列表理解采用每对
k,vs
,其中vs
是一个值列表,然后将键k
与vs
中的每一个值配对。根据设计,字典不能有重复的键,字典不能有重复的键。