我有一个元组列表,像这样:
我得到的结果是:
我想要得到的结果是:
L = [(23,56,48),(48,93,81),(48,56,23),(54,34,21),(48,98,71),(98,71,48),(56,23,48)]
其中一些元组具有完全相同的数字但顺序不同。我想计算元组的出现次数并覆盖具有相同值的元组。我在这里阅读了几个答案,并使用Counter方法做了一些尝试。但是我尝试的东西似乎对我没有用。我是Python的新手,所以也许我不理解Counter方法的确切用法。L1 = Counter()
for item in L:
for element in item:
if element in item:
L1[tuple(item)] = L1[tuple(item)] + 1
print(L1)
我得到的结果是:
Counter({(23, 56, 48): 3, (48, 93, 81): 3, (48, 56, 23): 3, (54, 34, 21): 3,
(48, 98, 71): 3, (98, 71, 48): 3, (56, 23, 48): 3})
我想要得到的结果是:
Counter({(23, 56, 48): 3, (48, 98, 71): 3, (48, 93, 81): 1, (54, 34, 21): 1})
Counter(frozenset(t) for t in L)
可以实现您想要的功能。 - Patrick Artner