我有一份校园名单:
campus = [{'id': '1', 'dlin': '1'}, {'id': '2', 'dlin': '1'},{'id': '3', 'dlin': '1'},{'id': '4', 'dlin': '2'},{'id': '5', 'dlin': '2'},{'id': '6', 'dlin': '1'}, ]
每一个校园都属于一所拥有独特的dlin的学校。我想要一个列表,其中有一些其他的列表,每个列表都有一些字典。 我运行以下代码:
schools = []
for i in campus:
ls = []
for j in campus:
if i['dlin'] == j['dlin']:
ls.append(j)
# campus_copy.remove(j)
schools.append(ls)
[print(item) for item in schools]
结果是:
[{'id': '1', 'dlin': '1'}, {'id': '2', 'dlin': '1'}, {'id': '3', 'dlin': '1'}, {'id': '6', 'dlin': '1'}]
[{'id': '1', 'dlin': '1'}, {'id': '2', 'dlin': '1'}, {'id': '3', 'dlin': '1'}, {'id': '6', 'dlin': '1'}]
[{'id': '1', 'dlin': '1'}, {'id': '2', 'dlin': '1'}, {'id': '3', 'dlin': '1'}, {'id': '6', 'dlin': '1'}]
[{'id': '4', 'dlin': '2'}, {'id': '5', 'dlin': '2'}]
[{'id': '4', 'dlin': '2'}, {'id': '5', 'dlin': '2'}]
[{'id': '1', 'dlin': '1'}, {'id': '2', 'dlin': '1'}, {'id': '3', 'dlin': '1'}, {'id': '6', 'dlin': '1'}]
我要么从学校删除重复的成员,要么修改代码,这样我就不会得到重复的。 当我尝试从学校删除重复项时,我发现dic项是不可散列的,所以我不能这样做。 有一些与我的问题相似的解决方案。 Remove duplicates from list of dictionaries within list of dictionariesRemove duplicate dict in list in Python 但是,我不知道该怎么办? 有人知道怎么解决这个问题吗?你知道吗
我希望得到的是:
[{'id': '1', 'dlin': '1'}, {'id': '2', 'dlin': '1'}, {'id': '3', 'dlin': '1'}, {'id': '6', 'dlin': '1'}]
[{'id': '4', 'dlin': '2'}, {'id': '5', 'dlin': '2'}]
根据Andrej的回答,我解决了问题的另一部分,我只想在这里分享:
我的问题是:
我现在涉及另一个与前一个问题有关的问题:
我有一份字典清单,每个校园的信息。多个校区可能属于一所学校。我必须根据他们名字的相似性来区分和分类他们。你知道吗
我的预期结果可以通过以下小而简洁的代码实现:
一种可能的解决方案是将
dlin
存储为字典中的键(并且字典不能有多个相等的键),而不是在之后显式删除重复项:印刷品:
相关问题 更多 >
编程相关推荐