【发布时间】:2018-03-06 11:13:19
【问题描述】:
我有 2 个元组 A 和 B。如何提取 A 和 B 的共同元素形成一个新的元组? 例如:
A -> (1,'a',(2,'b'),3,'c',4)
B -> (1,(2,'b'),4,8)
new_tuple -> (1,(2,'b'),4)
谢谢。
【问题讨论】:
-
您在发帖前是否进行了一些研究?像谷歌?因为那是微不足道的。
我有 2 个元组 A 和 B。如何提取 A 和 B 的共同元素形成一个新的元组? 例如:
A -> (1,'a',(2,'b'),3,'c',4)
B -> (1,(2,'b'),4,8)
new_tuple -> (1,(2,'b'),4)
谢谢。
【问题讨论】:
与set 交集(返回一个新的集合,其中包含集合和所有其他元素共有的元素):
A = (1,'a',(2,'b'),3,'c',4)
B = (1,(2,'b'),4,8)
result = tuple(set(A) & set(B))
print(result)
输出:
(1, 4, (2, 'b'))
https://docs.python.org/3/library/stdtypes.html?highlight=set#frozenset.intersection
【讨论】:
您可以使用设置交集。请注意,这并不能保证元素的顺序。
>>> A = (1,'a',(2,'b'),3,'c',4)
>>> B = (1,(2,'b'),4,8)
>>> tuple(set(A).intersection(set(B)))
(1, (2, 'b'), 4)
【讨论】: