【发布时间】:2019-11-21 05:47:54
【问题描述】:
有一个字典列表。我想为每个字典添加一个键并将它们全部附加到一个字典中。我如何做到这一点而不会重复相同的条目进入新的字典?
我试过这个代码:
# a_list is a list of dictionaries
# category_name is a string
def make_dict(a_list, category_name=None):
a_dict = {}
for item in a_list:
for i in range(0, len(a_list)):
a_dict.setdefault(category_name + str(i+1), item)
return a_dict
但是当它创建一个新名称时,列表中的第一个对象会重复列表中的对象总数。
{
"Open Port 1": {
"LocalAddress": "::",
"LocalPort": 58448,
"RemoteAddress": "::",
"RemotePort": 0,
"State": 100
},
"Open Port 2": {
"LocalAddress": "::",
"LocalPort": 58448,
"RemoteAddress": "::",
"RemotePort": 0,
"State": 100
},
"Open Port 3": {
"LocalAddress": "::",
"LocalPort": 58448,
"RemoteAddress": "::",
"RemotePort": 0,
"State": 100
}, ... etc
关于如何解决这个问题的任何想法?
【问题讨论】:
-
但是怎么做?? “i”索引在哪里增加?为什么它不总是 0?
标签: python list dictionary append iteration