Bagaimana Anda memutar kanan dengan python?

Tulis program Python untuk memutar daftar dengan n kali atau posisi. Dalam contoh putar kanan Python ini, kami menggunakan angka negatif untuk mengiris daftar dari sisi kanan dan menggabungkannya menggunakan aritmatika +

rtList = [10, 20, 30, 40, 50, 60, 70]

rtRotate = int(input("Enter Position to Rotate List Items = "))

print('Original List Items Before Right Rotating')
print(rtList)

list1 = rtList[-rtRotate:] + rtList[:-rtRotate]

print('\nFinal List Items After Right Rotating')
print(list1)
Bagaimana Anda memutar kanan dengan python?

Dalam program Python ini, kami menggunakan rentang for loop bersarang untuk memutar item daftar ke kanan oleh pengguna yang diberi nomor n atau posisi

rtList = [10, 20, 30, 40, 50, 60, 70]

rtRotate = int(input("Enter Position to Rotate Items = "))

print('Before Right Rotating')
print(rtList)

length = len(rtList) - 1

for i in range(rtRotate):
    lastValue = rtList[length]
    for j in range(length,-1, -1):
        rtList[j] = rtList[j - 1]
    rtList[0] = lastValue

print('After Right Rotating')
print(rtList)
Enter Position to Rotate Items = 5
Before Right Rotating
[10, 20, 30, 40, 50, 60, 70]
After Right Rotating
[30, 40, 50, 60, 70, 10, 20]

Program Python ini memungkinkan memasukkan ukuran daftar, item, posisi dan memutar item daftar ke sisi kanan dengan posisi yang diberikan

def printListItems(rtList):
    for i in range(len(rtList)):
        print(rtList[i], end = '   ')

rtList = []
rtListTot = int(input("Total Number of List Items = "))

for i in range(1, rtListTot + 1):
    rtListvalue = int(input("Please enter the %d List Item = "  %i))
    rtList.append(rtListvalue)

rtRotate = int(input("Enter Position to Rotate List Items = "))

print('\nOriginal List Items Before Right Rotating')
printListItems(rtList)

length = len(rtList) - 1

for i in range(rtRotate):
    lastValue = rtList[length]
    for j in range(length,-1, -1):
        rtList[j] = rtList[j - 1]
    rtList[0] = lastValue
    
print('\nFinal List Items After Right Rotating')
printListItems(rtList)
Total Number of List Items = 9
Please enter the 1 List Item = 2
Please enter the 2 List Item = 4
Please enter the 3 List Item = 6
Please enter the 4 List Item = 8
Please enter the 5 List Item = 10
Please enter the 6 List Item = 12
Please enter the 7 List Item = 14
Please enter the 8 List Item = 16
Please enter the 9 List Item = 18
Enter Position to Rotate List Items = 3

Original List Items Before Right Rotating
2   4   6   8   10   12   14   16   18   
Final List Items After Right Rotating
14   16   18   2   4   6   8   10   12  

Program python untuk memutar daftar dengan n menggunakan while loop

def printListItems(rtList):
    i = 0
    while i < len(rtList):
        print(rtList[i], end = '   ')
        i = i + 1

rtList = []
rtListTot = int(input("Total Number of List Items = "))
i = 1
while i <= rtListTot:
    rtListvalue = int(input("Please enter the %d List Item = "  %i))
    rtList.append(rtListvalue)
    i = i + 1

rtRotate = int(input("Enter Position to Rotate List Items = "))

print('\nBefore Right Rotating')
printListItems(rtList)

length = len(rtList) - 1
i = 0
while i < rtRotate:
    lastValue = rtList[length]
    j = length
    while j >= 0:
        rtList[j] = rtList[j - 1]
        j = j - 1
    i = i + 1
    rtList[0] = lastValue
    
print('\nAfter Right Rotating')
printListItems(rtList)
Total Number of List Items = 7
Please enter the 1 List Item = 22
Please enter the 2 List Item = 44
Please enter the 3 List Item = 66
Please enter the 4 List Item = 88
Please enter the 5 List Item = 128
Please enter the 6 List Item = 148
Please enter the 7 List Item = 168
Enter Position to Rotate List Items = 2

Before Right Rotating
22   44   66   88   128   148   168   
After Right Rotating
148   168   22   44   66   88   128   

Metode  1. Kode dengan Python

#Write a program for array rotation in Python

# Python3 program to rotate an array by
def leftRotate(arr, d, n):
    for i in range(d):
        leftRotatebyOne(arr, n)
 
# Function to left Rotate arr[] of size n by 1*/
def leftRotatebyOne(arr, n):
    temp = arr[0]
    for i in range(n-1):
        arr[i] = arr[i + 1]
    arr[n-1] = temp
         
 
# utility function to print an array */
def printArray(arr, size):
    for i in range(size):
        print ("% d"% arr[i], end =" ")
 
  
# Driver program to test above functions */
arr = [10, 20, 30, 40, 50, 60, 70]
leftRotate(arr, 2, 7)
printArray(arr, 7)

Pada artikel ini, kita akan belajar merotasi list dengan Python. Kami akan menggunakan beberapa fungsi bawaan, pendekatan sederhana, dan beberapa kode khusus juga. Pertama-tama mari kita lihat sekilas apa itu daftar di Python

Daftar Piton

Python memiliki tipe data bawaan yang disebut daftar. Ini seperti kumpulan array dengan metodologi berbeda. Data di dalam daftar dapat berupa tipe apa pun, katakanlah, bilangan bulat, string atau nilai float, atau bahkan tipe daftar. Daftar ini menggunakan nilai yang dipisahkan koma dalam tanda kurung siku untuk menyimpan data. Daftar dapat didefinisikan menggunakan nama variabel apa pun dan kemudian menetapkan nilai yang berbeda ke daftar dalam tanda kurung siku. Daftar ini dipesan, dapat diubah, dan memungkinkan nilai duplikat

list1 = ["Ram", "Arun", "Kiran"]
list2 = [16, 78, 32, 67]
list3 = ["apple", "mango", 16, "cherry", 3.4]
_

Rotasi daftar berarti mendorong dan menarik elemen dari kedua ujung daftar. Di rotasi kiri, setiap elemen daftar digeser ke sisi kirinya dengan satu posisi dan elemen pertama ditambahkan ke akhir daftar. Demikian pula, dalam rotasi kanan, setiap elemen daftar digeser ke sisi kanannya dengan satu posisi dan elemen terakhir ditambahkan ke awal daftar. Proses ini diikuti beberapa kali. Sekarang, kita akan membahas berbagai metode untuk merotasi daftar. Metode ini dapat melakukan Rotasi Kiri dan Rotasi Kanan dengan mengambil jumlah rotasi sebagai masukan

Contoh. Putar Daftar dengan menggunakan Teknik Pemotongan

Metode ini hanya memutar daftar dalam kode satu baris. Ini adalah metode yang paling umum dan efisien untuk mencapai rotasi daftar. Ini melakukan operasi pemotongan dengan mengambil jumlah rotasi. Dalam hal ini, ini memutar daftar l1, 3 spasi ke sisi kanan dan kiri. Itu bergabung dengan bagian irisan terakhir dari daftar dengan bagian irisan awal dari daftar. Anda dapat memberikan sejumlah rotasi sesuai dengan kebutuhan

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
_


Daftar Asli. [1, 4, 6, 7, 2]
Rotasi kiri Daftar dengan 3. [7, 2, 1, 4, 6]
Rotasi kanan Daftar dengan 3. [1, 4, 6, 7, 2]

Contoh. Putar Daftar menggunakan Pemahaman Daftar

Metode ini dilakukan dalam satu baris menggunakan List Comprehension. Dalam metode ini, kami hanya menugaskan kembali indeks ke setiap nilai ke posisi tertentu setelah rotasi. Ganti saja 3 dengan jumlah rotasi yang Anda inginkan

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = [l1[(i + 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3 
l1 = [l1[(i - 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Right rotation of List by 3 : " + str(l1)) 


Daftar Asli. [1, 4, 6, 7, 2]
Rotasi kiri Daftar dengan 3. [7, 2, 1, 4, 6]
Rotasi kanan Daftar dengan 3. [1, 4, 6, 7, 2]

Contoh. Putar Daftar menggunakan Modul Koleksi

Metode ini mengimpor deque dari modul collections Python. deque() class menyediakan fungsi

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
0 untuk melakukan Rotasi Daftar. Ini juga merupakan cara yang efisien untuk memutar daftar karena lebih cepat daripada teknik mengiris. Ini dioptimalkan untuk menarik dan mendorong kedua ujungnya

deque() - Dibutuhkan daftar sebagai argumen dan mengubahnya menjadi objek deque

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
0 - Ini diterapkan pada objek deque dan menggunakan jumlah rotasi sebagai argumen. Itu hanya memutar daftar

Indeks negatif diberikan untuk melakukan rotasi ke kiri sedangkan indeks positif diberikan untuk melakukan rotasi ke kanan

from collections import deque 

#input list
l1 = [1, 4, 6, 7, 2] 
print ("Original List : " + str(l1)) 

#left rotate by 3 
l1 = deque(l1) 
l1.rotate(-3) 
l1 = list(l1) 
print ("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = deque(l1) 
l1.rotate(3) 
l1 = list(l1) 
print ("Right rotation of List by 3 : " + str(l1)) 


Daftar Asli. [1, 4, 6, 7, 2]
Rotasi kiri Daftar dengan 3. [7, 2, 1, 4, 6]
Rotasi kanan Daftar dengan 3. [1, 4, 6, 7, 2]

Contoh. Rotasi Kanan Daftar dengan Menambahkan Elemen ke Daftar Baru

Metode ini meningkatkan Kompleksitas Ruang program. Metode ini membuat daftar kosong dan menyimpan daftar yang dimodifikasi ke dalam daftar baru. Cara kerjanya mirip dengan pemahaman daftar. Ini mengulangi daftar pertama satu per satu dan kemudian menempatkan elemen pada posisi yang sesuai dalam daftar kedua menggunakan fungsi

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
3

#number of rotations
num = 3
l1 = [1, 2, 3, 4, 5, 6] 
l2 = [] 

# Will add values from n to the new list 
for ele in range(len(l1) - num, len(l1)):
    l2.append(l1[ele])
# Will add the values before n to the end of new list
for ele in range(0, len(l1) - num):
    l2.append(l1[ele]) 

print("Right rotation of List by 3 : " + str(l2)) 


Rotasi kanan Daftar dengan 3. [4, 5, 6, 1, 2, 3]

Contoh. Rotasi kanan Daftar menggunakan len() dan Slicing Technique

Metode ini juga melibatkan teknik Slicing tetapi bersama dengan fungsi

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
4

#number of rotations
num = 3

#input list
l1 = [1, 2, 3, 4, 5, 6] 

l1 = (l1[len(l1) - num:len(l1)] + l1[0:len(l1) - num]) 

print("Right rotation of List by 3 : " + str(l1)) 


Rotasi kanan Daftar dengan 3. [4, 5, 6, 1, 2, 3]

Contoh. Rotasi Daftar menggunakan Modul NumPy

Modul Numpy Python menyediakan fungsi roll() bawaan untuk melakukan rotasi pada array. Pertama, ini membuat array dengan melewatkan rentang (nilai awal, nilai terakhir (dikecualikan)) menggunakan fungsi

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
5. Kemudian, larik dan jumlah rotasi diteruskan sebagai argumen ke fungsi
#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
6

import numpy

arr = numpy.arange(1,10) 
print("Orignial array : ", arr)

#right rotate by 3
print("Right rotation by 3 : ", numpy.roll(arr,3))

#left rotate by 3
print("Left rotation by 3 : ", numpy.roll(arr,-3))


Susunan asli. [1 2 3 4 5 6 7 8 9]
Rotasi kanan sebesar 3. [7 8 9 1 2 3 4 5 6]
Rotasi kiri sebesar 3. [4 5 6 7 8 9 1 2 3]

Kesimpulan

Pada artikel ini, kami belajar untuk memutar daftar dengan menggunakan beberapa fungsi bawaan seperti deque(),

#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
4,
#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = l1[3:] + l1[:3] 
print("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3
l1 = l1[-3:] + l1[:-3] 
print("Right rotation of List by 3 : " + str(l1)) 
3,
#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = [l1[(i + 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3 
l1 = [l1[(i - 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Right rotation of List by 3 : " + str(l1)) 
0 dan juga menggunakan teknik
#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = [l1[(i + 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3 
l1 = [l1[(i - 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Right rotation of List by 3 : " + str(l1)) 
1 dan
#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = [l1[(i + 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3 
l1 = [l1[(i - 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Right rotation of List by 3 : " + str(l1)) 
2. Kami juga menggunakan beberapa kode khusus. Kami membahas bahwa dari semua metode
#input list
l1 = [1, 4, 6, 7, 2] 
print("Original List : " + str(l1)) 

#left rotate by 3 
l1 = [l1[(i + 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Left rotation of List by 3 : " + str(l1)) 

#right rotate by 3 
l1 = [l1[(i - 3) % len(l1)] for i, x in enumerate(l1)] 
print ("Right rotation of List by 3 : " + str(l1)) 
3 adalah metode yang paling efisien untuk melakukan operasi rotasi daftar. Semua metode ini memiliki Kompleksitas Waktu sama dengan 0(n) karena satu iterasi tunggal pada elemen daftar

Bagaimana Anda memutar sesuatu dengan Python?

rotate() function digunakan untuk memutar gambar dengan sudut di Python.

Bagaimana Anda memutar array yang tepat?

Larik dapat diputar ke kanan dengan menggeser elemennya ke posisi di sebelahnya yang dapat dilakukan dengan memutar balik larik dalam urutan terbalik (perulangan akan dimulai dari panjang . .

Bagaimana Anda menggeser daftar dengan Python?

Memasukkan. n = 2, Daftar_1 = [1, 2, 3, 4, 5, 6]
Keluaran. Daftar_1 = [5, 6, 1, 2, 3, 4]
Penjelasan. Kami mendapatkan daftar keluaran setelah memutar kanan (searah jarum jam) daftar yang diberikan oleh 2

Apakah ada fungsi putar di Python?

Modul Numpy Python menyediakan fungsi roll() bawaan untuk melakukan rotasi pada larik.