我有一个set如下所示的列表。我想编写一个函数来返回在这些集合中只出现一次的元素。我写的函数有点工作。我想知道,有没有更好的方法来处理这个问题?
s1 = {1, 2, 3, 4}
s2 = {1, 3, 4}
s3 = {1, 4}
s4 = {3, 4}
s5 = {1, 4, 5}
s = [s1, s2, s3, s4, s5]
def unique(s):
temp = []
for i in s:
temp.extend(list(i))
c = Counter(temp)
result = set()
for k,v in c.items():
if v == 1:
result.add(k)
return result
unique(s) # will return {2, 5}
Run Code Online (Sandbox Code Playgroud) python ×1