好奇的小金鱼 发表于 2020-5-17 10:55:36

求助对 列表的元素进行筛选

# 9,利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后对
# 列表的元素进行筛选,将能被4整除的数留下来。
lis=[]
for i in range(100,9,-2):
   if i%4==0:
         lis.append(i)
print(lis)


请问这样写对不,为什么?

liuzhengyuan 发表于 2020-5-17 10:57:45

本帖最后由 liuzhengyuan 于 2020-5-17 11:45 编辑

效果一样,只不过你没有按照要求

你得先创建列表
lis = []
for i in range(100,9,-2):
   lis.append(i)# 添加到新列表
然后筛选:
for i in lis:
    if i % 4 != 0:   # 如果 i 不是 4 的倍数
         lis.remove(i) # 移除
print(lis)

如果帮到你了,那就给个最佳吧~{:10_287:}

sunrise085 发表于 2020-5-17 11:15:10

要求是先将偶数添加到列表中,再进行筛选。你的程序虽然能得到正确结果,但是你没有进行第一步
lis=#利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中
for i in lis[:]:#这里一定要用lis[:],而不能用lis
   if i%4!=0:
         lis.remove(i)# 列表的元素进行筛选,将不能被4整除的数删除。
print(lis)

Twilight6 发表于 2020-5-17 11:29:20

按照你的题目要求,一步步做,你的答案是直接把整除4的结果加到列表,虽然最终都能达到效果,只是没有按照题目要求而已
lis = []
for i in range(100,9,-2):
   # 题目要求先倒序将所有的偶数添加到一个新列表中
   lis.append(i)# 添加到新列表
# 然后要求对列表的元素进行筛选,将能被4整除的数留下来。
for i in lis:
    if i % 4 != 0:   # 能被4整除的数留下来,反之就是不能被4整除的除去
         lis.remove(i)
print(lis)
帮助到你的话,就给个最佳吧{:10_287:}
页: [1]
查看完整版本: 求助对 列表的元素进行筛选