【问题标题】:python list comprehension with two functions具有两个功能的python列表理解
【发布时间】:2016-01-19 07:00:12
【问题描述】:

好的,我可以这样做:

[i for i in range(100) if i > 10 if i < 50]

或者我可以这样做:

[i for i in range(100) if i > 10 and i < 50]

但是,如果我尝试这个:

def is_big(number):
    number > 10
def is_small(number):
    number < 50

我明白了:

[i for I in range(100) if is_big(I) and is_small(I)]
[]
[i for I in range(100) if is_big(I) if is_small(I)]
[]

【问题讨论】:

标签: python list-comprehension


【解决方案1】:

您的函数必须返回布尔结果

def is_big(number):
    return number > 10

def is_small(number):
    return number < 50

print [i for i in range(100) if is_big(i) and is_small(i)]

【讨论】:

  • 不需要如果。 return number &gt; 10return number &lt; 50
  • 你是对的。更多像这样的pythonic。谢谢(答案已修改)
猜你喜欢
  • 1970-01-01
  • 2021-10-19
  • 2010-11-19
  • 2017-12-30
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
  • 2022-07-24
相关资源
最近更新 更多