如何从列表中删除偶数?
a = []
i = 0
while i < 10:
c = int(raw_input('Enter an integer: '))
a.append(c)
i += 1 # this is the same as i = i + 1
for i in a:
if i % 2 == 0:
a.remove(i)
print(a)
即使在输入 10 之后,它也会一直要求输入数字
如果数字是偶数,为什么不阻止追加,而不是添加然后检查删除?
a = []
counter = 0
while counter < 10:
c = int(raw_input('Enter an integer: '))
if c % 2 != 0:
a.append(c)
counter += 1
print(a)
i
由for
语句重新分配。使用不同的变量。
如果您想了解如何根据谓词“过滤”列表,这里有一个示例:
a_without_even = filter(lambda x: x%2==1, a)
def removalDiffMethod(self, array):
l=0
r=len(array)
while l<r:
if array[l]%2==0:
array[l:r] = array[l+1:r+1]
r-=1
else:
l+=1
return array[:r]
像这样的东西?
your_dirty_list = [2,3,3,3,4,4,2,2,7,7,8]
your_clean_list = [clean_dude for clean_dude in your_dirty_list if clean_dude % 2]
输出[]: [3, 3, 3, 7, 7]