Có chức năng nào được gọi là trao đổi trong Python không?

Hoán đổi hai biến sử dụng hàm trong Python có thể được thực hiện bằng cách chuyển các biến của chúng ta tới hàm do người dùng xác định làm đối số và trả về hoặc in dữ liệu đã hoán đổi

Về đối số và giá trị trả về, hàm có 4 loại

  • Với các đối số và giá trị trả về
  • Có đối số và không có giá trị trả về
  • Không có đối số và có giá trị trả về
  • Không có đối số và không có giá trị trả về

[19, 65, 23, 90]
2
[19, 65, 23, 90]
0
[19, 65, 23, 90]
5_______0_______0_______0_______7
[19, 65, 23, 90]
8
[19, 65, 23, 90]
0
[19, 65, 23, 90]
0_______0_______0
[19, 65, 23, 90]
2

[19, 65, 23, 90]
2
[19, 65, 23, 90]
4
[19, 65, 23, 90]
0

 

[19, 65, 23, 90]
6

[19, 65, 23, 90]
7
[19, 65, 23, 90]
8
[19, 65, 23, 90]
9
[19, 65, 23, 90]
0_______0_______1
[19, 65, 23, 90]
2
[19, 65, 23, 90]
1
[19, 65, 23, 90]
4
[19, 65, 23, 90]
1
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7

[19, 65, 23, 90]
8_______0_______8
[19, 65, 23, 90]
0
[19, 65, 23, 90]
1
[19, 65, 23, 90]
2

 

[19, 65, 23, 90]
3
[19, 65, 23, 90]
4_______0_______7
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0
[19, 65, 23, 90]
9
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0# Python3 program to swap elements2

đầu ra.  
 

[19, 65, 23, 90]

Thời gian phức tạp. O(1), để sử dụng các hoạt động liên tục
Không gian phụ trợ. O(1), để sử dụng không gian thừa không đổi

  
Cách tiếp cận #2. Sử dụng danh sách sẵn có. hàm pop()
Pop phần tử tại pos1 và lưu trữ nó trong một biến. Tương tự, bật phần tử tại pos2 và lưu nó vào một biến khác. Bây giờ hãy chèn hai phần tử đã xuất hiện vào vị trí ban đầu của nhau
 

Python3




# Python3 program to swap elements

# at given positions

 

# Swap function

def swapPositions(

[19, 65, 23, 90]
0
[19, 65, 23, 90]
1

[19, 65, 23, 90]
2

[19, 65, 23, 90]
2# at given positions2

[19, 65, 23, 90]
2# at given positions4
[19, 65, 23, 90]
8
[19, 65, 23, 90]
0# at given positions7

[19, 65, 23, 90]
2# at given positions9
[19, 65, 23, 90]
8
[19, 65, 23, 90]
0# Swap function2
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0# Swap function5

# Swap function6

[19, 65, 23, 90]
2# Swap function8

[19, 65, 23, 90]
2
[19, 65, 23, 90]
0def1

[19, 65, 23, 90]
2
[19, 65, 23, 90]
0def4

[19, 65, 23, 90]
2

[19, 65, 23, 90]
2
[19, 65, 23, 90]
4
[19, 65, 23, 90]
0

 

[19, 65, 23, 90]
6

[19, 65, 23, 90]
7
[19, 65, 23, 90]
8
[19, 65, 23, 90]
9
[19, 65, 23, 90]
0_______0_______1
[19, 65, 23, 90]
2
[19, 65, 23, 90]
1
[19, 65, 23, 90]
4
[19, 65, 23, 90]
1
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7

[19, 65, 23, 90]
8_______0_______8
[19, 65, 23, 90]
0
[19, 65, 23, 90]
1
[19, 65, 23, 90]
2

 

[19, 65, 23, 90]
3
[19, 65, 23, 90]
4_______0_______7
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0
[19, 65, 23, 90]
9
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0# Python3 program to swap elements2

đầu ra.  
 

[19, 65, 23, 90]

Thời gian phức tạp. O(1), để sử dụng các hoạt động liên tục
Không gian phụ trợ. O(1), để sử dụng không gian thừa không đổi

  
Cách tiếp cận #3. Sử dụng biến tuple
Lưu trữ phần tử tại pos1 và pos2 dưới dạng một cặp trong một biến tuple, giả sử get. Giải nén các phần tử có vị trí pos2 và pos1 trong danh sách đó. Bây giờ, cả hai vị trí trong danh sách đó đã được hoán đổi.  
 

Python3




[19, 65, 23, 90]
16

[19, 65, 23, 90]
17

 

# Swap function

def swapPositions(

[19, 65, 23, 90]
0
[19, 65, 23, 90]
1

 

[19, 65, 23, 90]
2
[19, 65, 23, 90]
24

[19, 65, 23, 90]
2
[19, 65, 23, 90]
26

[19, 65, 23, 90]
2
[19, 65, 23, 90]
28_______0_______8
[19, 65, 23, 90]
0_______0_______5
[19, 65, 23, 90]
0_______0_______7

[19, 65, 23, 90]
34

[19, 65, 23, 90]
2
[19, 65, 23, 90]
36

[19, 65, 23, 90]
2
[19, 65, 23, 90]
0_______0_______0_______0_______0_______0_______2
[19, 65, 23, 90]
8
[19, 65, 23, 90]
28

[19, 65, 23, 90]
34

[19, 65, 23, 90]
2
[19, 65, 23, 90]
4
[19, 65, 23, 90]
0

 

[19, 65, 23, 90]
48

[19, 65, 23, 90]
7
[19, 65, 23, 90]
8
[19, 65, 23, 90]
9
[19, 65, 23, 90]
0_______0_______1
[19, 65, 23, 90]
2
[19, 65, 23, 90]
1
[19, 65, 23, 90]
4
[19, 65, 23, 90]
1
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7

 

[19, 65, 23, 90]
8_______0_______8
[19, 65, 23, 90]
0
[19, 65, 23, 90]
1
[19, 65, 23, 90]
2

[19, 65, 23, 90]
3
[19, 65, 23, 90]
4_______0_______7
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0
[19, 65, 23, 90]
9
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0# Python3 program to swap elements2

đầu ra.  
 

[19, 65, 23, 90]

Thời gian phức tạp. O(1), để sử dụng các hoạt động liên tục
Không gian phụ trợ. O(1), để sử dụng không gian thừa không đổi

Cách tiếp cận #4. Sử dụng biến tạm thời

Python3




# Python3 program to swap elements

# at given positions

 

# Swap function

def

[19, 65, 23, 90]
79

[19, 65, 23, 90]
2
[19, 65, 23, 90]
81
[19, 65, 23, 90]
8
[19, 65, 23, 90]
83

[19, 65, 23, 90]
2
[19, 65, 23, 90]
83
[19, 65, 23, 90]
8
[19, 65, 23, 90]
87

[19, 65, 23, 90]
2
[19, 65, 23, 90]
87_______0_______8
[19, 65, 23, 90]
81

[19, 65, 23, 90]
2
[19, 65, 23, 90]
4
[19, 65, 23, 90]
94

[19, 65, 23, 90]
6

[19, 65, 23, 90]
7
[19, 65, 23, 90]
8
[19, 65, 23, 90]
9
[19, 65, 23, 90]
0_______0_______1
[19, 65, 23, 90]
2
[19, 65, 23, 90]
1
[19, 65, 23, 90]
4
[19, 65, 23, 90]
1
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7

[19, 65, 23, 90]
07
[19, 65, 23, 90]
8
[19, 65, 23, 90]
0
[19, 65, 23, 90]
1
[19, 65, 23, 90]
2

 

[19, 65, 23, 90]
3
[19, 65, 23, 90]
4_______0_______7
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0
[19, 65, 23, 90]
9
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0# Python3 program to swap elements2

Đầu ra

[19, 65, 23, 90]

Thời gian phức tạp. O(1), để sử dụng các hoạt động liên tục
Không gian phụ trợ. O(1), để sử dụng không gian thừa không đổi

Cách tiếp cận #5. sử dụng liệt kê

Một cách khác để hoán đổi các phần tử trong danh sách là sử dụng hàm liệt kê để lấy chỉ số và giá trị của từng phần tử trong danh sách, sau đó sử dụng vòng lặp để tìm các phần tử cần hoán đổi và hoán đổi chúng

Ví dụ

Python3




def

[19, 65, 23, 90]
79

[19, 65, 23, 90]
2
[19, 65, 23, 90]
25
[19, 65, 23, 90]
26_______0_______27
[19, 65, 23, 90]
28
[19, 65, 23, 90]
29

[19, 65, 23, 90]
30_______0_______31
[19, 65, 23, 90]
32
[19, 65, 23, 90]
8
[19, 65, 23, 90]
8
[19, 65, 23, 90]
35

[19, 65, 23, 90]
36_______0_______37
[19, 65, 23, 90]
8
[19, 65, 23, 90]
39

[19, 65, 23, 90]
30_______0_______31
[19, 65, 23, 90]
32
[19, 65, 23, 90]
8
[19, 65, 23, 90]
8
[19, 65, 23, 90]
45

[19, 65, 23, 90]
36_______0_______47
[19, 65, 23, 90]
8
[19, 65, 23, 90]
39

[19, 65, 23, 90]
2
[19, 65, 23, 90]
83
[19, 65, 23, 90]
8
[19, 65, 23, 90]
47

[19, 65, 23, 90]
2
[19, 65, 23, 90]
87_______0_______8
[19, 65, 23, 90]
37

[19, 65, 23, 90]
2
[19, 65, 23, 90]
4
[19, 65, 23, 90]
94

 

[19, 65, 23, 90]
7
[19, 65, 23, 90]
8
[19, 65, 23, 90]
9
[19, 65, 23, 90]
0_______0_______1
[19, 65, 23, 90]
2
[19, 65, 23, 90]
1
[19, 65, 23, 90]
4
[19, 65, 23, 90]
1
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7

[19, 65, 23, 90]
07
[19, 65, 23, 90]
8
[19, 65, 23, 90]
0
[19, 65, 23, 90]
1
[19, 65, 23, 90]
2

[19, 65, 23, 90]
3
[19, 65, 23, 90]
4_______0_______7
[19, 65, 23, 90]
6
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0
[19, 65, 23, 90]
9
[19, 65, 23, 90]
7
[19, 65, 23, 90]
0# Python3 program to swap elements2

[19, 65, 23, 90]
87

Đầu ra

[19, 65, 23, 90]

Cách tiếp cận này có độ phức tạp về thời gian là O(n), vì nó liên quan đến việc lặp qua toàn bộ danh sách để tìm các phần tử được hoán đổi. Độ phức tạp của không gian là O(1), vì nó chỉ sử dụng một lượng không gian bổ sung không đổi để lưu trữ các phần tử được hoán đổi

Lưu ý rằng phương pháp này có thể được thực hiện hiệu quả hơn bằng cách sử dụng một vòng lặp duy nhất và thoát ra khỏi vòng lặp khi các phần tử đã được tìm thấy và hoán đổi

Trao đổi () có nghĩa là gì trong Python?

Trăn. đổi chỗ hai biến . Nói chung, điều này được thực hiện với dữ liệu trong bộ nhớ. Phương pháp đơn giản nhất để hoán đổi hai biến là sử dụng biến tạm thời thứ ba. xác định nhiệt độ trao đổi (a, b). = một một. = bb. = nhiệt độ. mutually exchanging the values of the variables. Generally, this is done with the data in memory. The simplest method to swap two variables is to use a third temporary variable : define swap(a, b) temp := a a := b b := temp.

Có chức năng hoán đổi không?

Hàm swap() dùng để hoán đổi hai số . Bằng cách sử dụng chức năng này, bạn không cần bất kỳ biến thứ ba nào để hoán đổi hai số.

Thư viện nào có chức năng trao đổi trong?

Hàm std. swap() là một hàm tích hợp trong Thư viện mẫu chuẩn C++ (STL) có chức năng hoán đổi giá trị của hai biến.