您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

有没有办法在Python中获得元组或列表的区别和交集?

有没有办法在Python中获得元组或列表的区别和交集?

如果顺序无关紧要,您可以使用set它。它实现了交叉和差异。

>>> a = set([1, 2, 3, 4, 5])
>>> b = set([4, 5, 6, 7, 8])
>>> a.intersection(b)
set([4, 5])
>>> a.difference(b)
set([1, 2, 3])

以下是这些操作的时间复杂度信息:https ://wiki.python.org/moin/TimeComplexity#set。注意,换位顺序改变了操作复杂度。

如果element可以出现几次(通常称为multiset),则可以使用Counter

>>> from collections import Counter
>>> a = Counter([1, 2, 3, 4, 4, 5, 5])
>>> b = Counter([4, 4, 5, 6, 7, 8])
>>> a - b
Counter({1: 1, 2: 1, 3: 1, 5: 1})
>>> a & b
Counter({4: 2, 5: 1})
python 2022/1/1 18:50:07 有352人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶