为什么"return"返回'None'而不是所需的"列表"?



我正在编写一个代码,返回该列表中odd positions上的元素。当我运行程序时,它没有显示任何输出。但是当我用return print(lst2)替换return lst2时,它向我显示了所需的输出。所以我的问题是,为什么我的程序在编写return lst2时没有显示任何输出?

def op(lst):
lst2=[]
for i in lst:
indx=lst.index(i)
if indx%2==1:
lst2.append(i)
return lst2
a=[22, 5, 7, 35, 1, 100, 15]
op(a)

您只是返回列表,而不是打印它。

def op(lst):
lst2 = []
for i in lst:
indx = lst.index(i)
if indx % 2 == 1:
lst2.append(i)
return lst2

a = [22, 5, 7, 35, 1, 100, 15]
print(op(a))

因为您没有打印列表,所以您只是返回它(列表对象本身(。如果您想对列表执行某些操作,则此op(a)是合适的,但如果您只想打印其内容,则应调用print(op(a))或更改op函数以打印列表的内容,而不是返回列表。

最新更新