我有以下清单:
listInitial = [20, 33, 24, 11, 0, 4, 3, 11]
我试图编写一个函数,通过它进行迭代,并返回这个列表的一个副本,其中11个被删除。所需的输出为:[20, 33, 24, 0, 4, 3]
我想在函数中使用append方法和for循环。下面是我的代码:
listSecond = []
def iterateandremove (listInitial, num):
for i in listInitial:
if i != num:
listSecond.append(i)
print (listSecond)
return (listSecond)
iterateandremove (listInitial, 11)
当我运行代码时,它会打印出正确的列表。但是我的函数根本不返回任何东西。我做错了什么
这是因为您没有将其分配给变量。您还需要在函数中创建一个新容器,而不是使用全局变量。试试这个:
您也可以通过列表理解来完成此操作:
您应该在函数中定义
listSecond
,然后从那里返回它这样,如果您多次运行它,您只返回您的输入列表,而不是之前的所有列表的组合
您也可以通过简单的列表理解来实现这一点,而无需声明
listSecond
另一种选择
lambda函数也是一个很好的候选函数
相关问题 更多 >
编程相关推荐