已有一个由小到大数字组成列表,
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倍,是不需要去除的,否则最后的列表就成空的了。
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)