我编写了一个函数,从一个列表中生成两个列表的元组。一个列表包含第二个、第四个和第五个值,另一个列表包含所有剩余值。我还有一个条件,如果reverse=True,则返回时列表的值将反转。在
def seperate(x, reverse=False):
xs = []
ys = []
for i in range(0, len(x), 2):
xs.append(x[i])
ys.append(x[i + 1])
return (xs, ys)
if reverse is True:
x = xs.reverse()
y = ys.reverse()
return(x, y)
由于某些原因,当reverse为True时,列表不会被反转,它们与reverse为False时相同
在函数中,
^{pr2}$return
之后,一切都不工作。这就是您的if
语句不起作用的原因。在return
之后,一切都变得无效。你可以想象一下像这个一样,这个函数只写}不再有效。在
hey
,因为它返回一次,而另一次返回{reverse = True
不起作用的原因是在检查之前有一个return
语句:return
语句后的代码永远不会执行。在另外,}将成为{}。在
reverse()
在适当的地方反转列表并返回None
,因此x
和{以下是如何解决这两个问题:
^{pr2}$最后,可以使用切片而不是显式循环来提取奇数/偶数元素:
reverse()
不返回任何值。它会在适当的位置反转列表。所以反向列表在xs
和{http://www.tutorialspoint.com/python/list_reverse.htm
另外,在执行
if
语句之前返回。在相关问题 更多 >
编程相关推荐