0

如何从列表中删除偶数?

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 之后,它也会一直要求输入数字

4

5 回答 5

3

如果数字是偶数,为什么不阻止追加,而不是添加然后检查删除?

a = []
counter = 0
while counter < 10:
    c = int(raw_input('Enter an integer: ')) 
    if c % 2 != 0:
        a.append(c)
    counter += 1
print(a)
于 2013-04-04T00:42:22.350 回答
2

ifor语句重新分配。使用不同的变量。

于 2013-04-04T00:40:28.380 回答
1

如果您想了解如何根据谓词“过滤”列表,这里有一个示例:

a_without_even = filter(lambda x: x%2==1, a)
于 2013-04-04T02:11:04.457 回答
1
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]
于 2019-12-24T13:22:52.240 回答
0

像这样的东西?

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]

于 2020-07-30T03:03:29.267 回答