Thứ tự hoán đổi python

Khi một tuple được tạo, bạn không thể thay đổi giá trị của nó. Các bộ dữ liệu không thể thay đổi hoặc không thay đổi vì nó còn được gọi là

Nhưng có một cách giải quyết. Bạn có thể chuyển đổi bộ dữ liệu thành danh sách, thay đổi danh sách và chuyển đổi danh sách trở lại thành bộ dữ liệu

Thí dụ

Chuyển đổi bộ dữ liệu thành danh sách để có thể thay đổi nó

x = ["táo", "chuối", "anh đào"]
y = list[x]
y[1] = "
x = tuple[y]

in[x]

Tự mình thử »


Trong hướng dẫn này, bạn sẽ học cách hoán đổi biến trong Python, sử dụng biến tạm thời và không có biến tạm thời. Có thể hoán đổi các biến có thể là một kỹ năng hữu ích để học và có nhiều ứng dụng thực tế như trong phát triển trò chơi và phát triển web. Bạn sẽ tìm hiểu ba cách khác nhau để hoán đổi biến trong Python, bao gồm sử dụng biến tạm thời, không sử dụng biến tạm thời và sử dụng phép toán số học

Câu trả lời nhanh. Hoán đổi các biến trong Python với Tuple Unpacking

Cách hoán đổi biến trong Python

Mục lục

  • Hoán đổi biến trong Python không có biến tạm thời
  • Hoán đổi các biến trong Python với một biến tạm thời
  • Hoán đổi các biến trong Python bằng số học
  • Sự kết luận

Hoán đổi biến trong Python không có biến tạm thời

Cách hoán đổi biến "pythonic" nhất trong Python là không có biến tạm thời. Phương pháp này cũng thường được gọi là hoán đổi tuple

Trước khi giải thích cách thức hoạt động của phương pháp này, chúng ta hãy xem nó trông như thế nào

# Swap Variables in Python without a Temporary Variable
x = 3
y = 6

x, y = y, x

print['x equals: ', x]
print['y equals: ', y]

# Returns:
# x equals:  6
# y equals:  3

Chúng ta có thể thấy rằng đây là một cách hoán đổi biến rất dễ dàng và quan trọng là dễ đọc trong Python. Trên thực tế, đó có thể là cách Pythonic nhất để hoán đổi các biến, do nó dễ hiểu như thế nào

Nhưng làm thế nào để điều này làm việc? . Khi chúng ta gán các biến của mình cho hai giá trị được phân tách bằng dấu phẩy, chúng sẽ trả về một bộ

Trong Python, khi chúng ta tạo một biểu thức đánh giá có dấu =, vế phải của biểu thức được đánh giá trước. Vì điều này, khi chúng tôi gán thứ gì đó cho = y, x, thứ này được đánh giá đầu tiên. Đằng sau hậu trường, Python thực sự tạo ra một tuple chứa hai đối tượng

Hãy xác nhận điều này bằng cách tạo bộ dữ liệu và in loại

# Checking how tuples are created 
x = 3
y = 6
z = x, y

print[z]
print[type[z]]

Chúng ta có thể thấy rằng bằng cách phân tách các giá trị bằng dấu phẩy ở bên phải của dấu bằng, một bộ dữ liệu được tạo. Sau đó, khi chúng tôi gán nhiều giá trị ở bên phải, chúng tôi ngầm giải nén các giá trị trong bộ dữ liệu

Vì phía bên trái của biểu thức bao gồm hai định danh, bộ dữ liệu được giải nén theo thứ tự chúng xuất hiện trong bộ dữ liệu. Vì các mục xuất hiện theo thứ tự ngược lại ở phía bên phải so với phía bên trái, các biến được chuyển đổi hoặc hoán đổi một cách hiệu quả, hoàn toàn. Đây là một phương pháp làm việc rất dễ đọc, vì chúng ta có thể hiểu nó khá trực quan

Bây giờ chúng ta đã biết điều này, hãy xem hoạt động trông như thế nào

# Understanding variable swapping without temporary variables in Python
x = 3
y = 6

x, y = y, x
# Is the same as: x, y = [y, x]

print['x equals: ', x]
print['y equals: ', y]

# Returns:
# x equals:  6
# y equals:  3

Chúng ta có thể thấy từ đoạn mã trên rằng bộ dữ liệu ẩn của chúng ta sẽ trả về giống như bộ dữ liệu rõ ràng

Trong phần tiếp theo, bạn sẽ tìm hiểu cách hoán đổi biến trong Python bằng biến tạm thời

Hoán đổi các biến trong Python với một biến tạm thời

Trong phần này, bạn sẽ học cách sử dụng biến tạm thời. Phương thức này có giá trị như nhau, nhưng yêu cầu khai báo biến thứ ba. Vì biến thứ ba không được sử dụng sau khi hoán đổi các biến nên phương pháp được giải thích ở trên được ưu tiên hơn. Điều đó đang được nói, điều quan trọng là phải hiểu các phương pháp khác nhau theo ý của bạn

Hãy xem phương thức này trông như thế nào trong Python

# Swap Variables in Python with a Temporary Variable
x = 3
y = 7

z = x
x = y
y = z

print['x equals: ', x]
print['y equals: ', y]

# Returns:
# x equals:  7
# y equals:  3

Ví dụ này, trong khi hợp lệ thì khó hiểu hơn một chút. Đầu tiên chúng ta gán giá trị của một biến cho biến thứ ba. Sau đó, chúng tôi gán biến đầu tiên cho biến thứ hai và biến thứ hai cho biến thứ ba. [Ngay cả khi viết điều này cũng khó hiểu, vì vậy tôi không trách bạn nếu bạn muốn quên phương pháp này hoàn toàn và sử dụng phương pháp đầu tiên]

Lý do điều này hoạt động là dễ hiểu ngay lập tức. Tuy nhiên hơi khó hiểu và không trực quan nhất. Vì điều này, tốt hơn hết là bạn chỉ nên áp dụng phương pháp đầu tiên

Hoán đổi các biến trong Python bằng số học

Trong phần cuối cùng này, bạn sẽ tìm hiểu phương pháp thứ ba để hoán đổi các biến Python lấy các giá trị số. Chúng tôi sẽ sử dụng các biểu thức số học để hoán đổi các biến của mình – vì điều này, nó sẽ chỉ hoạt động với các giá trị số

Hãy xem phương pháp này trông như thế nào và sau đó đi sâu vào lý do tại sao phương pháp này hoạt động

# Swap Variables with Arithmetic
x = 3
y = 4

x = x + y       # x = 7, y = 4
y = x - y       # x = 7, y = 3
x = x - y       # x = 4, y = 3

print['x equals: ', x]
print['y equals: ', y]

# Returns:
# x equals:  4
# y equals:  3

Phương pháp này hoạt động vì chúng tôi có thể làm việc với sự tương tác của các con số. Một lần nữa, đó không phải là cách tiếp cận thực tế nhất, vì nó yêu cầu ba dòng mà một dòng sẽ làm được. Tuy nhiên, đây là một bài tập tốt để hiểu và mang theo trong túi sau của bạn cho các cuộc phỏng vấn viết mã

Bạn muốn tìm hiểu thêm về vòng lặp for Python? . Thay vào đó, bạn muốn xem một video?

Sự kết luận

Trong hướng dẫn này, bạn đã học được ba phương pháp khác nhau để hoán đổi biến trong Python. Bạn đã học cách hoán đổi các biến bằng cách sử dụng biến tạm thời, không có biến tạm thời và bằng các biểu thức số học. Có thể hoán đổi các biến là một kỹ năng quan trọng cần học với nhiều ứng dụng khác nhau của nó trong các lĩnh vực khác nhau

Chủ Đề