计算元组列表中唯一元素的数量,无论 Python 中的顺序如何

2022-01-17 00:00:00 python list set

问题描述

我有一个包含以下形式的元组的列表:

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

相关文章