Python - 返回一个比另一个更大的值?

时间:2012-08-17 03:28:01

标签: python

def all_gt(nums, n):
    i = []
    for c in nums:
        if c > n:
            i += c
    return i

这是我使用的代码,'i'应该返回大于n的nums值。 但我的支架内没有任何返回。例如,

all_gt([1,2,3,4], 2) => [3,4]

任何人都知道如何解决? 感谢

2 个答案:

答案 0 :(得分:5)

您宣布i列表,因此您需要append而不是添加。

def all_gt(nums, n):
    i = []
    for c in nums:
        if c > n:
            i.append(c)  ## <----- note this
    return i

或者,您可以这样做:

            i += [c]

代替追加。

答案 1 :(得分:1)

突显你的return语句,以便它不会作为循环的一部分执行。