关于Dictioranies的内容,我发现了一些方法,但不幸的是没有。我希望这个问题不会重复。
我的代码:
import os
import csv
import glob
os.chdir("/Users/x/PycharmProjects/x")
listme = list()
for csvs in glob.glob("*.csv"):
with open(csvs, mode="r") as csvfile:
csv_reader = csv.DictReader(csvfile)
for row in csv_reader:
spek = {"name": row['name'], "party": row['group'], "term":row['term']}
listme.append(spek)
for element in listme:
print(element)
我的输出(约5000个元素):
{'name': 'Erwin Stahl', 'party': 'SPD', 'term': '9'}
{'name': 'Eugen Glombig', 'party': 'SPD', 'term': '9'}
{'name': 'Eugen von der Wiesche', 'party': 'SPD', 'term': '9'}
{'name': 'Ferdinand Tillmann', 'party': 'CDU', 'term': '9'}
{'name': 'Franz Amrehn', 'party': 'CDU', 'term': '9'}
{'name': 'Franz Handlos', 'party': 'CSU', 'term': '9'}
{'name': 'Franz Heinrich Krey', 'party': 'CDU', 'term': '9'}
{'name': 'Franz Josef Conrad', 'party': 'CDU', 'term': '9'}
我现在如何检查一个学期中同名同伴是否只能从同一方退出一次?名称和政党的组合可能会出现,但不能使用同一术语。
提前谢谢!
答案 0 :(得分:1)
您需要将dict
对象变成可哈希的对象。一种选择是将其项目变成frozenset
:
s = set()
for d in listme:
frz = frozenset(d.items()) # hashable data structure
if frz in s:
print(d) # print duplicates
else:
s.add(frz)
答案 1 :(得分:0)
我的尝试(使用Expand
中的Counter
)
itertools