【问题标题】:Pythonic way to check if at least one number of a list is in a tuple [duplicate]检查列表中是否至少有一个数字在元组中的Pythonic方法[重复]
【发布时间】:2017-02-27 09:23:39
【问题描述】:

我有一个元组和一个列表:

t = (1, 2, 9)
l = range(2, 8)

我想检查列表中是否至少有一个元素在元组中。我尝试使用:

if (2 or 3 or 4 or 5 or 6 or 7) in l:
    return True

但它只适用于数字2。

现在我正在使用:

if 2 in l or 3 in l or 4 in l or 5 in l or 6 in l or 7 in l:
    return True

但我认为这不是最好的方法。 有没有办法缩小这段代码使其更优雅?

【问题讨论】:

  • 您在哪里与t 或其任何元素进行交互?无论如何,它是any(item in l for item in t)(或any(item in t for item in l),如果你想要相反的话)。

标签: python


【解决方案1】:

你只是想要:

any(e in t for e in l)

【讨论】:

  • 我不知道这个函数any,谢谢!
  • 如果l 和t 足够大,则使用set 表示t 是有意义的
  • @schwobaseggl 当然,但我认为这只是一个辅助点。
猜你喜欢
  • 1970-01-01
  • 2015-03-20
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多