现有一个列表 li = [1,2,3,4,6,7,8,10,12],删除列表中的偶数数据

列表越界的问题

li = [1, 2, 3, 4, 6, 7, 8, 10, 12]

index = 0

lg = len(li)

while index < lg:

    if li[index] % 2 == 0:
        del li[index]
    index += 1

print(li)

求大神告知如何修改

li = [1, 2, 3, 4, 6, 7, 8, 10, 12]
li = list(filter(lambda x: x % 2 == 1, li))
print(li)

li = [1, 2, 3, 4, 6, 7, 8, 10, 12]

index = 0

while index < len(li):

if li[index] % 2 == 0:
    del li[index]
index += 1

print(li)