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

リストを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_list)):
      output_list.append(my_list[item])
   for item in range(0, len(my_list) - num):
      output_list.append(my_list[item])
   return output_list
# Driver Code
A=list()
n=int(input("Enter the size of the List"))
print("Enter the number")
for i in range(int(n)):
   p=int(input("n="))
   A.append(int(p))
   print (A)
rot_num=int(input("Enter rotate number"))
print("After rotation",right_rotation(A, rot_num))
python54.py

出力

Enter the size of the List 6
Enter the number
n= 11
[11]
n= 22
[11, 22]
n= 33
[11, 22, 33]
n= 44
[11, 22, 33, 44]
n= 55
[11, 22, 33, 44, 55]
n= 66
[11, 22, 33, 44, 55, 66]
Enter rotate number 3
After rotation [44, 55, 66, 11, 22, 33]

メソッド2

ここでは、len()を使用してスライス手法を適用します。

A=list()
ni=int(input("Enter the size of the List"))
print("Enter the number")
for i in range(int(ni)):
   p=int(input("ni="))
   A.append(int(p))
   print (A)
n = 3
A = (A[len(A) - n:len(A)] + A[0:len(A) - n])
print("After Rotation",A)

出力

Enter the size of the List 6
Enter the number
ni= 11
[11]
ni= 22
[11, 22]
ni= 33
[11, 22, 33]
ni= 44
[11, 22, 33, 44]
ni= 55
[11, 22, 33, 44, 55]
ni= 66
[11, 22, 33, 44, 55, 66]
After Rotation [44, 55, 66, 11, 22, 33]

メソッド3

この方法では、リストAの最後のn個の要素が取得され、次にリストAの残りの要素が取得されました。

A=list()
ni=int(input("Enter the size of the List"))
print("Enter the number")
for i in range(int(ni)):
   p=int(input("ni="))
   A.append(int(p))
   print (A)
n = 3
A = (A[-n:] + A[:-n])
print("After Rotation",A)

出力

Enter the size of the List 6
Enter the number
ni= 11
[11]
ni= 22
[11, 22]
ni= 33
[11, 22, 33]
ni= 44
[11, 22, 33, 44]
ni= 55
[11, 22, 33, 44, 55]
ni= 66
[11, 22, 33, 44, 55, 66]
After Rotation [44, 55, 66, 11, 22, 33]

  1. リストの累積合計を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l):    new = []    cumsum = 0    for element in l:       cumsum += element       new.append(cumsum) &

  2. 辞書にマージするPythonプログラム。

    このプログラムでは、2つの辞書が提供されます。私たちの仕事は、この2つのリストをマージすることです。ここでは、update()メソッドを使用します。 Updateメソッドは、2つのリストをマージするために使用できます。ここで、2番目のリストが最初のリストにマージされます。 noneを返します。これは、新しいリストが作成されないことを意味します。 例 Input:: A= [AAA,10] B= [BBB,20] Output:: C= {BBB: 20, AAA: 10} アルゴリズム Step 1: First create two User input dictionary. Ste