我需要的是按大小将偶数移动到第二个列表
首先,对列表进行排序,然后使用偶数构建新列表。在这个例子中,i
是[10,6,5,4,7,8,9,1,3,2]
:
i.sort() # sorting the list
even = [] # will store the even numbers
for key,value in enumerate(i):
if not value % 2:
# if the number is even,
# remove it from i and add it to
# the even list
even.append(i.pop(key))
以下是使用列表推导式的上述示例,这是编写返回列表的循环的简便方法:
>>> i = [10,6,5,4,7,8,9,1,3,2]
>>> i.sort()
>>> even = [i.pop(k) for k,v in enumerate(i) if not v % 2]
>>> even
[2, 4, 6, 8, 10]
>>> i
[1, 3, 5, 7, 9]
要将它们移动到另一个列表,只需将两个列表添加在一起:
>>> another_list
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> another_list + even
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 4, 6, 8, 10]
然后,你做同样的事情,对 进行排序another_list
,然后创建一个只有奇数的新列表,并将其添加到原始列表中。