Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python-リストをローテーションする方法


リストは重要なコンテナであり、Web開発だけでなく、日常のプログラミングのほとんどすべてのコードで使用されます。リストを使用すればするほど、リストを習得するための要件が​​増えるため、リストの操作に関する知識が必要になります。

# using slice
# initializing list
test_list = [1, 4, 6, 7, 2]  
# printing original list
print ("Original list : " + str(test_list))  
# using slicing to left rotate by 3
test_list = test_list[3:] + test_list[:3]  
# Printing list after left rotate
print ("List after left rotate by 3 : " + str(test_list))  
# using slicing to right rotate by 3
# back to Original
test_list = test_list[-3:] + test_list[:-3]
# Printing after right rotate
print ("List after right rotate by 3(back to original) : " + str(test_list))
# using list comprehension  
# initializing list
test_list = [1, 4, 6, 7, 2]  
# printing original list
print ("Original list : " + str(test_list))  
# using list comprehension to left rotate by 3
test_list = [test_list[(i + 3) % len(test_list)]
   for i, x in enumerate(test_list)]  
# Printing list after left rotate
print ("List after left rotate by 3 : " + str(test_list))
# using list comprehension to right rotate by 3
# back to Original
test_list = [test_list[(i - 3) % len(test_list)]
   for i, x in enumerate(test_list)]
# Printing after right rotate
print ("List after right rotate by 3(back to original) : " + str(test_list))
# using rotate()
from collections import deque  
# initializing list
test_list = [1, 4, 6, 7, 2]  
# printing original list
print ("Original list : " + str(test_list))  
# using rotate() to left rotate by 3
test_list = deque(test_list)
test_list.rotate(-3)
test_list = list(test_list)  
# Printing list after left rotate
print ("List after left rotate by 3 : " + str(test_list))  
# using rotate() to right rotate by 3
# back to Original
test_list = deque(test_list)
test_list.rotate(3)
test_list = list(test_list)  
# Printing after right rotate
print ("List after right rotate by 3(back to original) : " + str(test_list))

出力

Original list : [1, 4, 6, 7, 2]
List after left rotate by 3 : [7, 2, 1, 4, 6]
List after right rotate by 3(back to original) : [1, 4, 6, 7, 2]
Original list : [1, 4, 6, 7, 2]
List after left rotate by 3 : [7, 2, 1, 4, 6]
List after right rotate by 3(back to original) : [1, 4, 6, 7, 2]
Original list : [1, 4, 6, 7, 2]
List after left rotate by 3 : [7, 2, 1, 4, 6]
List after right rotate by 3(back to original) : [1, 4, 6, 7, 2]

  1. リストをnだけ右回転するPythonプログラム

    ユーザー入力リストとローテーション番号を指定します。私たちのタスクは、指定されたローテーション番号からリストをローテーションすることです。 例 Input A= [2, 4, 5, 12, 90] rotation number=3 Output [ 90,12,2, 4, 5] メソッド1 ここでは、リスト内の各要素をトラバースし、2番目のリストの必要な場所に要素を挿入します。 例 def right_rotation(my_list, num): output_list = [] for item in range(len(my_list) - num, len(my

  2. Pythonで値によって辞書のリストを並べ替える方法

    ここに1つの辞書があります。私たちのタスクは、それらの値でソートすることです。このディクショナリには2つの値があり、1つは名前で、もう1つはロールです。まず、ラムダ関数と組み込みのソートされた関数を使用して、ロールごとにソートされたリストを表示します。 2番目に名前とロールでソートされたリストを表示し、3番目に名前で並べ替えたリストを表示します。 サンプルコード # Initializing list of dictionaries my_list1 = [{ name : Adwaita, roll : 100}, { name : Aadrika, roll : 234 },