私が必要とするのは、サイズ順に偶数を2番目のリストに移動することです
まず、リストを並べ替えてから、偶数で新しいリストを作成します。この例で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]
それらを別のリストに移動するには、2 つのリストを一緒に追加します。
>>> 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
から、奇数のみの新しいリストを作成し、それを元のリストに追加します。