For-Loop 列表最后返回一个 None 值

For-Loop a list returning a None value in the end

为什么执行这段代码的时候,最后的return是一个None?

def evenNum(x):
    for num in x:
        if num%2==0:
            print num

a = [1,2,3,4,5,6,7,8,9,10]

print evenNum(a)

如何省略 None 值?

您的函数不 return 任何东西,或者换句话说,它 return 是 None。替换:

print evenNum(a)

与:

evenNum(a)

以避免 None 被打印出来。

因为您的函数中没有 return 任何值。如果你想得到偶数列表,你应该这样做:

def evenNum(x): 
  even_nums = []
  for num in x: 
    if num%2==0:
      even_nums.append(num)
      print num
  return even_nums

evenNum - 它的函数return没有值,那么默认就是return None