【发布时间】:2018-05-18 15:16:09
【问题描述】:
我有一本字典:
digit = { 'one' : 1, 'two' : 2, 'three' : 3, 'four' : 4, 'five' : 5 }
我希望新的嵌套字典是这样的:
new_dict = [{'eng':'one','math': 1}
{'eng':'two','math': 2}
{'eng':'three','math': 3}
{'eng':'four','math': 4}
{'eng':'five','math': 5}
]
我试过了:
digit = { 'one' : 1, 'two' : 2, 'three' : 3, 'four' : 4, 'five' : 5 }
new_dict={'eng':'','math':''}
for nest_key,nest_val in new_dict.items():
for (key,value),(k,v) in nest_val.items(), digit.items():
if nest_val['eng'] == '':
nest_val.update({k:v})
nest_val.append({k:v})
print(new_dict)
给出这个错误:
for (key,value),(k,v) in nest_val.items(), digit.items():
AttributeError: 'str' object has no attribute 'items'
【问题讨论】:
-
为什么生活必须如此复杂?看起来
new_dict = [{'eng' : k, 'math' : v} for k, v in digit.items()]运作良好。 -
nest_val实际上是一个字符串值,没有items()方法。 -
@coldspeed 对,应该简单地想到。不过感谢您的回复。
-
@Kasramvd 好的,我对here 提到的字典感到困惑。不过谢谢。
-
@coldspeed 答案不断变化,这意味着有时
'eng'成为关键,有时'math'! ?
标签: python python-3.x dictionary nested