如何从另一个元组中减去元组?

时间:2019-08-22 10:16:12

标签: python-3.x tuples

我有两组带字符串的元组。

tuple_1 = ('A', '487')
          ('B', '42')
          ('A', '357')
          ('A', '440')

tuple_2 = ('A', '440')
          ('A', '440')
          ('B', '42')
          ('A', '503')
          ('A', '436')

我想从tuple_2中减去tuple_1并获取输出,以便答案将包含tuple_2中不包含的元组。

以上答案应为

tuple_answer = ('A', '487')
               ('A', '357')

('A', '440')('B', '42')应该都被删除,因为它们都包含在其中。 任何人都有一个主意,该怎么做?

谢谢。

2 个答案:

答案 0 :(得分:0)

tuple([t for t in tuple_1 if t not in tuple_2])

答案 1 :(得分:0)

您可以使用:

tuple_1 = (('A', '487'),
          ('B', '42'),
          ('A', '357'),
          ('A', '440'))

tuple_2 = (('A', '440'),
          ('A', '440'),
          ('B', '42'),
          ('A', '503'),
          ('A', '436'))

print(tuple(set(tuple_1)-set(tuple_2)))

输出:

(('A', '487'), ('A', '357'))
相关问题