计算元组列表中唯一元素的数量,无论 Python 中的顺序如何
问题描述
我有一个包含以下形式的元组的列表:
I have a list that contains tuples in the form:
[('s1', 's2'),('s3','s32')...('s2','s1')]`
考虑到顺序并不重要,我如何计算不同元组的数量?
How can I count the number of distinct tuples, considering that the order is not important?
示例:('s1','s2')
与 ('s2','s1')
解决方案
使用 frozenset 来规范化你的不同的元组.然后检查结果集中的项目数量:
Using frozenset to normalize your distinct tuples. And then checking the amount of items in the resulting set:
>>> l = [('s1', 's2'), ('s3','s32'), ('s2','s1')]
>>> len(set(map(frozenset, l)))
2
相关文章