大家好我正在使用Python而我正在尝试编写一个带有列表和选项(1或0)的函数。如果该选项为0,则返回一个新列表,其中所有数字的绝对值都大于5,如果该选项为1则返回所有奇数。
我几乎有0个选项正常工作,但当我试图找回一个列表时,它只是保持空白,我想知道是否有人可以帮助我找到附加列表元素我做错了什么。
到目前为止我的代码:
def splitList(myList, option):
myList = []
myList2 = []
if option == 0:
for element in myList:
if abs(element)>5:
myList2.append(element)
print(myList2)
答案 0 :(得分:3)
您希望返回该函数的结果;最后添加return
语句:
return myList2
此外,您将myList
重新绑定到函数开头的空列表中;完全删除该行;否则你忽略了传递给函数的myList
参数:
def splitList(myList, option):
myList2 = []
if option == 0:
for element in myList:
if abs(element)>5:
myList2.append(element)
return myList2
您可以简化循环以使用列表解析:
def splitList(myList, option):
if option == 0:
return [el for el in myList if abs(el) > 5]
答案 1 :(得分:3)
您正在接受列表的参数,但随后将其覆盖为[],因此myList在进入for循环之前是空的
答案 2 :(得分:2)
您可以使用list comprehension轻松完成此操作:
def splitList(myList,option):
if option==0:
return [x for x in myList if abs(x)>5]
return [x for x in myList if (x%2)==1]