这种做法要求我裁剪列表,直到第一个数字不等于偶数为止。
但是,我不明白为什么它不适用于for i in lst
而不适用于for i in range(0, len(lst))
-如果使用第一种方法,它将返回[10]
而不是[]
。
def delete_starting_evens(lst):
for i in range(0, len(lst)):
if lst[0] % 2 == 0:
lst.pop(0)
return lst
print(delete_starting_evens([4, 8, 10, 11, 12, 15])) #should return [11, 12, 15]
print(delete_starting_evens([4, 8, 10])) #should return []
编辑:该问题与重复问题不同,因为我想知道lst
和range(0, len(lst))
的性质是否存在差异。