Python:每日一题 139:剔除列表中数字的倍数

已有一个由小到大数字组成列表,
list1 = [3, 7, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 24, 26, 27, 28, 30, 32, 34, 35, 36, 39, 41, 42, 43, 45, 48, 49, 53, 64, 74, 78, 80, 88, 90, 91, 95, 96, 103, 107, 116, 142, 148, 152, 153, 158, 163, 171, 173, 174, 175, 176, 179, 181, 188, 190, 201, 204, 207, 216, 218, 222, 231, 235, 239, 248, 250, 251, 253, 258, 262, 265, 278, 292, 295, 296, 301, 305, 313, 317, 320, 326, 332, 334, 347, 355, 357, 358, 363, 365, 366, 368, 375, 377, 381, 391, 414, 417, 426, 428, 437, 438, 445, 453, 459, 466, 474, 476, 477, 489, 494]
要求将数字是列表中其他数字倍数的剔除,如15, 24是3的倍数,就将15,24去除,14,21是7的倍数,就将14,21去除。注意数字仅是其本身的1倍,如3是3的1倍,是不需要去除的,否则最后的列表就成空的了。

要求给出最后剩余的列表。


Python源码:

list1 = [3, 7, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 24, \
         26, 27, 28, 30, 32, 34, 35, 36, 39, 41, 42, 43, 45, 48,\
         49, 53, 64, 74, 78, 80, 88, 90, 91, 95, 96, 103, 107, 116,\
         142, 148, 152, 153, 158, 163, 171, 173, 174, 175, 176, 179,\
         181, 188, 190, 201, 204, 207, 216, 218, 222, 231, 235, 239,\
         248, 250, 251, 253, 258, 262, 265, 278, 292, 295, 296, 301,\
         305, 313, 317, 320, 326, 332, 334, 347, 355, 357, 358, 363,\
         365, 366, 368, 375, 377, 381, 391, 414, 417, 426, 428, 437,\
         438, 445, 453, 459, 466, 474, 476, 477, 489, 494]
i = 0
while i < len(list1):
    j = i + 1
    while j < len(list1):
        if list1[j] % list1[i] == 0:
            list1.pop(j)
        else:
            j += 1
    i += 1
print(list1)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值