2024-05-16 20:25:17 发布
网友
我有一个字典列表,例如:
list_of_clients = [ {"Name": "Alex", "Surname": "Dorfman", ...}, {"Name": "Serge", "Surname": "Ioffe"}, ... ]
我知道同一个客户端的列表中有重复的字典。你知道吗
有没有办法快速打印出来?你知道吗
谢谢!你知道吗
您可以尝试:
res = set(tuple(client.items() for client in list_of_clients if list_of_clients.count(client) > 1))
set()将删除结果中的重复项,而tuple()是必需的(至少在Python3中是这样),因为items()本身仍然是不可散列的。你知道吗
set()
tuple()
正如其他人所提到的,这将不会保持项目的秩序,但如果你只是想删除重复这是足够的。你知道吗
你可以保留一个set已经看到的名字。您必须定义应该考虑哪些键。在这种情况下:["Name", "Surname"]。如果需要,只需添加更多:
set
["Name", "Surname"]
list_of_clients = [{"Name": "Alex", "Surname": "Dorfman"}, {"Name": "Serge", "Surname": "Ioffe"}, {"Name": "Alex", "Surname": "Dorfman"}, {"Name": "Serge", "Surname": "Ioffe"}] already_seen = set() for client in list_of_clients: complete_name = tuple(client.get(k) for k in ["Name", "Surname"]) if complete_name in already_seen: print("Duplicate : %s" % (complete_name,)) already_seen.add(complete_name)
它输出:
Duplicate : ('Alex', 'Dorfman') Duplicate : ('Serge', 'Ioffe')
您可以尝试:
set()
将删除结果中的重复项,而tuple()
是必需的(至少在Python3中是这样),因为items()本身仍然是不可散列的。你知道吗正如其他人所提到的,这将不会保持项目的秩序,但如果你只是想删除重复这是足够的。你知道吗
你可以保留一个
set
已经看到的名字。您必须定义应该考虑哪些键。在这种情况下:["Name", "Surname"]
。如果需要,只需添加更多:它输出:
相关问题 更多 >
编程相关推荐