在此快速练习中,自己尝试枚举功能。完成skip_elements()
函数以返回列表中的所有其他元素,这次使用enumerate()
函数检查元素是在偶数位置还是在奇数位置。
def skip_elements(elements):
# code goes here
return ___
print(skip_elements(["a", "b", "c", "d", "e", "f", "g"])) # Should be ['a', 'c', 'e', 'g']
print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) # Should be ['Orange', 'Strawberry', 'Peach']
我下面的解决方案仅返回“ a” 和“ orange”
我猜想for
循环无法正常工作?我想念什么?
def skip_elements(elements):
# code goes here
for i,alpha in enumerate(elements):
if i%2==0:
return alpha
答案 0 :(得分:2)
for循环工作正常,问题在于您正在执行返回操作。当我们执行返回操作时,控件会退出循环。如果要返回元素,可以将它们存储在列表中,然后返回
def skip_elements(elements):
# code goes here
elements = []
for i,alpha in enumerate(elements):
if i%2==0:
elements.append(alpha)
return elements
答案 1 :(得分:0)
您正在使用return,这将退出循环。如果您只想打印,则将需要以下内容:
def skip_elements(elements):
# code goes here
for i,alpha in enumerate(elements):
if i%2==0:
print(alpha)
如果要返回列表:
def skip_elements(elements):
even_elements = []
for i,alpha in enumerate(elements):
if i%2==0:
even_elements.append(alpha)
return even_elements
答案 2 :(得分:-1)
使用列表的slice属性[start:stop:step]
["a", "b", "c", "d", "e", "f", "g"][::2]