【问题标题】:How can I subtract tuples from another tuple?如何从另一个元组中减去元组?
【发布时间】:2019-08-22 10:16:12
【问题描述】:

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

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') 应该被删除,因为它包含在两者中。 有人有想法,怎么做?

提前谢谢你。

【问题讨论】:

  • 这不是有效的python代码,请格式化。
  • @MrFuppes 谢谢,我的问题很接近。

标签: python-3.x tuples


【解决方案1】:

你可以使用:

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'))

【讨论】:

  • 谢谢,这就是我想要的
【解决方案2】:
tuple([t for t in tuple_1 if t not in tuple_2])

【讨论】:

  • 这不会产生元组。
  • 是的,这不会产生元组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 2013-02-21
  • 1970-01-01
相关资源
最近更新 更多