Viết chương trình python lấy 10 số từ người dùng và in các số theo thứ tự ngược lại

Python cung cấp cho chúng ta nhiều cách đảo ngược danh sách. Chúng ta sẽ xem qua một số kỹ thuật về cách đảo ngược danh sách trong Python

Thí dụ.  

Đầu vào. danh sách = [4, 5, 6, 7, 8, 9]
Đầu ra. [9, 8, 7, 6, 5, 4] 

Đảo ngược danh sách bằng cách sử dụng hàm tích hợp Reverse[] và Reverse[]

Sử dụng Reverse[] chúng ta có thể đảo ngược danh sách và một đối tượng list_reverseiterator được tạo, từ đó chúng ta có thể tạo một danh sách bằng cách truyền kiểu list[]. Hoặc, chúng ta cũng có thể sử dụng danh sách. chức năng đảo ngược [] để đảo ngược danh sách tại chỗ

Python3




[7, 6, 5, 4, 3, 2, 1]
85
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
87
[7, 6, 5, 4, 3, 2, 1]
88
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
1
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
3
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
5
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
7
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
9
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
01

[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
03
[7, 6, 5, 4, 3, 2, 1]
04
[7, 6, 5, 4, 3, 2, 1]
05

 

[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
03
[7, 6, 5, 4, 3, 2, 1]
08
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
00
[7, 6, 5, 4, 3, 2, 1]
03
[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
03

Đầu ra

[7, 6, 5, 4, 3, 2, 1]
4

Đảo ngược danh sách bằng cách sử dụng phương pháp hai con trỏ

Trong phương thức này, chúng tôi sẽ khai báo hai con trỏ [về cơ bản là chỉ mục bắt đầu và chỉ mục kết thúc, hãy để 'trái' và 'phải']. Trong khi quét danh sách, trong mỗi lần lặp, chúng tôi sẽ hoán đổi các phần tử tại chỉ mục 'trái' và 'phải'. Con trỏ 'trái' sẽ di chuyển về phía trước và con trỏ 'phải' sẽ di chuyển lùi. Chúng tôi sẽ tiếp tục quá trình cho đến khi 'đầu tiên' < 'cuối cùng'. Điều này sẽ hoạt động cho cả số phần tử chẵn cũng như số phần tử lẻ

Python3




[7, 6, 5, 4, 3, 2, 1]
04

[7, 6, 5, 4, 3, 2, 1]
05
[7, 6, 5, 4, 3, 2, 1]
06

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
08
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
04
[7, 6, 5, 4, 3, 2, 1]
05
[7, 6, 5, 4, 3, 2, 1]
06
[7, 6, 5, 4, 3, 2, 1]
07

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
09
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
01
[7, 6, 5, 4, 3, 2, 1]
02

________ 101 ________ 104 ________ 186 ________ 106

[7, 6, 5, 4, 3, 2, 1]
01
[7, 6, 5, 4, 3, 2, 1]
06
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
850

[7, 6, 5, 4, 3, 2, 1]
01
[7, 6, 5, 4, 3, 2, 1]
850
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
04

[7, 6, 5, 4, 3, 2, 1]
01
[7, 6, 5, 4, 3, 2, 1]
08
[7, 6, 5, 4, 3, 2, 1]
857
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
07

[7, 6, 5, 4, 3, 2, 1]
01
[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
06
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
07

 

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
866
[7, 6, 5, 4, 3, 2, 1]
867

 

[7, 6, 5, 4, 3, 2, 1]
867
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
87
[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
873_______00
[7, 6, 5, 4, 3, 2, 1]
875
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
877
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
879
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
881
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
883
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
886

Đầu ra

[7, 6, 5, 4, 3, 2, 1]

Độ phức tạp về thời gian. O[N]
Không gian phụ. O[1]
 

Đảo ngược danh sách bằng hàm insert[]

Trong phương pháp này, chúng tôi không đảo ngược danh sách tại chỗ [sửa đổi danh sách gốc] cũng như không tạo bất kỳ bản sao nào của danh sách. Thay vào đó, chúng tôi tiếp tục chèn các mục ở chỉ mục thứ 0 của danh sách, điều này sẽ tự động đảo ngược danh sách

Python3




[7, 6, 5, 4, 3, 2, 1]
887

[7, 6, 5, 4, 3, 2, 1]
85
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
87
[7, 6, 5, 4, 3, 2, 1]
88
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
1
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
3
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
5
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
7
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
9
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
13

[7, 6, 5, 4, 3, 2, 1]
14

[7, 6, 5, 4, 3, 2, 1]
15
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
17____018

 

[7, 6, 5, 4, 3, 2, 1]
19

[7, 6, 5, 4, 3, 2, 1]
20
[7, 6, 5, 4, 3, 2, 1]
21
[7, 6, 5, 4, 3, 2, 1]
22
[7, 6, 5, 4, 3, 2, 1]
23

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
25

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
27____100
[7, 6, 5, 4, 3, 2, 1]
29

[7, 6, 5, 4, 3, 2, 1]
30

[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
32

Đầu ra

[7, 6, 5, 4, 3, 2, 1]
0

Đảo ngược danh sách bằng kỹ thuật cắt lát

Trong kỹ thuật này, một bản sao của danh sách được tạo và danh sách không được sắp xếp tại chỗ. Tạo một bản sao yêu cầu nhiều không gian hơn để chứa tất cả các phần tử hiện có. Điều này làm cạn kiệt bộ nhớ nhiều hơn. Ở đây chúng tôi đang sử dụng kỹ thuật cắt để đảo ngược danh sách của mình trong Python

Python3




[7, 6, 5, 4, 3, 2, 1]
33

[7, 6, 5, 4, 3, 2, 1]
05
[7, 6, 5, 4, 3, 2, 1]
35

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
37
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
39
[7, 6, 5, 4, 3, 2, 1]
06
[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
866
[7, 6, 5, 4, 3, 2, 1]
37

 

 

[7, 6, 5, 4, 3, 2, 1]
85
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
87
[7, 6, 5, 4, 3, 2, 1]
88
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
1
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
3
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
5
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
7
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
9
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
62

Đầu ra

[7, 6, 5, 4, 3, 2, 1]
0

Đảo ngược danh sách bằng cách sử dụng hiểu danh sách

Trong kỹ thuật này, danh sách không được sắp xếp tại chỗ. Một bản sao của mảng ban đầu là không cần thiết. Chúng tôi sử dụng khả năng hiểu danh sách để đảo ngược mảng và trả về danh sách

Chúng tôi tìm độ dài của mảng và sau đó lặp lại nó bằng cách sử dụng phạm vi. Bây giờ, để thay thế phần tử cuối cùng bằng phần tử đầu tiên, chúng ta trừ độ dài của danh sách ban đầu bằng chỉ mục của trình vòng lặp

Python3




[7, 6, 5, 4, 3, 2, 1]
63
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
87
[7, 6, 5, 4, 3, 2, 1]
88
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
1
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
3
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
5
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
7
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
9
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
78
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
80
[7, 6, 5, 4, 3, 2, 1]
04
[7, 6, 5, 4, 3, 2, 1]
82
[7, 6, 5, 4, 3, 2, 1]
06
[7, 6, 5, 4, 3, 2, 1]
84

[7, 6, 5, 4, 3, 2, 1]
85
[7, 6, 5, 4, 3, 2, 1]
20
[7, 6, 5, 4, 3, 2, 1]
21
[7, 6, 5, 4, 3, 2, 1]
22
[7, 6, 5, 4, 3, 2, 1]
89
[7, 6, 5, 4, 3, 2, 1]
03
[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
04
[7, 6, 5, 4, 3, 2, 1]
82
[7, 6, 5, 4, 3, 2, 1]
857
[7, 6, 5, 4, 3, 2, 1]
07
[7, 6, 5, 4, 3, 2, 1]
97

[7, 6, 5, 4, 3, 2, 1]
02
[7, 6, 5, 4, 3, 2, 1]
99

Đầu ra

[7, 6, 5, 4, 3, 2, 1]
0

Đảo ngược danh sách bằng phương pháp rút gọn

Trong kỹ thuật này, danh sách lặp qua từng phần tử và thêm phần tử vào đầu danh sách và cuối cùng chúng ta nhận được mảng theo thứ tự ngược lại. Tại mỗi lần lặp lại, chúng tôi chuyển đổi mục thành danh sách và nối mảng trước đó với phần tử phía trước thành danh sách phần tử hiện tại

con trăn




[7, 6, 5, 4, 3, 2, 1]
000
[7, 6, 5, 4, 3, 2, 1]
001
[7, 6, 5, 4, 3, 2, 1]
002
[7, 6, 5, 4, 3, 2, 1]
003

 

[7, 6, 5, 4, 3, 2, 1]
63
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
87
[7, 6, 5, 4, 3, 2, 1]
88
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
1
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
3
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
5
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
7
[7, 6, 5, 4, 3, 2, 1]
0
[7, 6, 5, 4, 3, 2, 1]
9
[7, 6, 5, 4, 3, 2, 1]
00

[7, 6, 5, 4, 3, 2, 1]
78
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
003
[7, 6, 5, 4, 3, 2, 1]
03
[7, 6, 5, 4, 3, 2, 1]
023
[7, 6, 5, 4, 3, 2, 1]
024
[7, 6, 5, 4, 3, 2, 1]
857
[7, 6, 5, 4, 3, 2, 1]
026
[7, 6, 5, 4, 3, 2, 1]
027
[7, 6, 5, 4, 3, 2, 1]
028
[7, 6, 5, 4, 3, 2, 1]
029
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
86
[7, 6, 5, 4, 3, 2, 1]
032
[7, 6, 5, 4, 3, 2, 1]
033
[7, 6, 5, 4, 3, 2, 1]
034
[7, 6, 5, 4, 3, 2, 1]
857
[7, 6, 5, 4, 3, 2, 1]
036

Chủ Đề