Giải nén một tuple
Khi chúng ta tạo một tuple, chúng ta thường gán các giá trị cho nó. Điều này được gọi là "Đóng gói" một tuple:
Nhưng, trong Python, chúng tôi cũng được phép trích xuất các giá trị trở lại thành các biến. Điều này được gọi là "Giải nén":
Thí dụ
Giải nén một tuple:
trái cây = ("táo", "chuối", "anh đào")
(xanh, vàng, đỏ) = trái cây
in (màu xanh lá cây) in (màu vàng) in (màu đỏ)
print(yellow)
print(red)
Hãy tự mình thử »
LƯU Ý: Số lượng biến phải khớp với số lượng giá trị trong tuple, nếu không, bạn phải sử dụng dấu hoa thị để thu thập các giá trị còn lại làm danh sách. The number of variables must match the number of values in the tuple, if not, you must use an asterisk to collect the remaining values as a list.
Sử dụng Asterisk
()
Code language: Python (python)7Nếu số lượng biến nhỏ hơn số lượng giá trị, bạn có thể thêm
()
Code language: Python (python)7 vào tên biến và các giá trị sẽ được gán cho biến làm danh sách:Thí dụ
Giải nén một tuple:
trái cây = ("táo", "chuối", "anh đào")
(xanh, vàng, đỏ) = trái cây
in (màu xanh lá cây) in (màu vàng) in (màu đỏ)
print(yellow)
print(red)
Hãy tự mình thử »
LƯU Ý: Số lượng biến phải khớp với số lượng giá trị trong tuple, nếu không, bạn phải sử dụng dấu hoa thị để thu thập các giá trị còn lại làm danh sách.
Thí dụ
Giải nén một tuple:
trái cây = ("táo", "chuối", "anh đào")
(xanh, vàng, đỏ) = trái cây
in (màu xanh lá cây) in (màu vàng) in (màu đỏ)
print(tropic)
print(red)
Hãy tự mình thử »
Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách giải nén các bộ dữ liệu trong Python.: in this tutorial, you’ll learn how to unpack tuples in Python.
Xem xét các bộ dữ liệu python
Python định nghĩa một tuple bằng dấu phẩy (
()
Code language: Python (python)9), không phải dấu ngoặc đơntuple()
Code language: Python (python)0. Ví dụ: sau đây xác định một tuple với hai yếu tố:1,2
Code language: Python (python)Python sử dụng dấu ngoặc đơn để làm cho tuple rõ ràng hơn:
(1, 2)
Code language: Python (python)Python cũng sử dụng dấu ngoặc đơn để tạo ra một bộ tuple trống:
()
Code language: Python (python)Ngoài ra, bạn có thể sử dụng hàm tạo
tuple()
Code language: Python (python)1 như thế này:tuple()
Code language: Python (python)Để xác định một tuple chỉ có một yếu tố, bạn vẫn cần sử dụng dấu phẩy. Ví dụ sau đây minh họa cách xác định một tuple với một yếu tố:
1,
Code language: Python (python)Nó tương đương với những điều sau:
(1, )
Code language: Python (python)Lưu ý rằng những điều sau đây là một số nguyên, không phải là một tuple:
(1)
Code language: Python (python)Giải nén một tuple
Giải nén một tuple có nghĩa là chia các phần tử Tuple thành các biến riêng lẻ. Ví dụ:
x, y = (1, 2)
Code language: Python (python)Phía bên trái:
x, y
Code language: Python (python)là một tuple của hai biến
tuple()
Code language: Python (python)2 vàtuple()
Code language: Python (python)3.Phía bên phải cũng là một bộ của hai số nguyên
tuple()
Code language: Python (python)4 vàtuple()
Code language: Python (python)5.Biểu thức gán các phần tử tuple ở phía bên phải (1, 2) cho mỗi biến ở phía bên trái (x, y) dựa trên vị trí tương đối của mỗi phần tử.
Trong ví dụ trên,
tuple()
Code language: Python (python)2 sẽ mấttuple()
Code language: Python (python)4 vàtuple()
Code language: Python (python)3 sẽ mấttuple()
Code language: Python (python)5.Xem một ví dụ khác:
x, y ,z = 10, 20, 30
Code language: Python (python)Phía bên phải là một bộ ba số nguyên
1,
Code language: Python (python)0,1,
Code language: Python (python)1 và1,
Code language: Python (python)2. Bạn có thể nhanh chóng kiểm tra loại của nó như sau:(1, 2)
Code language: Python (python)0Output:
(1, 2)
Code language: Python (python)1Trong ví dụ trên, các biến
tuple()
Code language: Python (python)2,tuple()
Code language: Python (python)3 và1,
Code language: Python (python)5 sẽ lấy các giá trị1,
Code language: Python (python)0,1,
Code language: Python (python)1 và1,
Code language: Python (python)2 tương ứng.Sử dụng Tuple giải nén để hoán đổi giá trị của hai biến
Theo truyền thống, để trao đổi các giá trị của hai biến, bạn sẽ sử dụng một biến tạm thời như sau:
(1, 2)
Code language: Python (python)2Output:
(1, 2)
Code language: Python (python)3Trong Python, bạn có thể sử dụng cú pháp tuple giải nén để đạt được kết quả tương tự:
(1, 2)
Code language: Python (python)4Output:
(1, 2)
Code language: Python (python)5Biểu thức sau hoán đổi các giá trị của hai biến, x và y.
(1, 2)
Code language: Python (python)6Trong biểu thức này, Python đánh giá phía bên phải trước và sau đó gán biến từ phía bên trái cho các giá trị từ phía bên phải.
ValueError: quá nhiều giá trị để giải nén
Ví dụ sau đây giải nén các yếu tố của một tuple thành các biến. Tuy nhiên, nó sẽ dẫn đến một lỗi:
(1, 2)
Code language: Python (python)7Error:
(1, 2)
Code language: Python (python)8Lỗi này là do phía bên phải trả về ba giá trị trong khi phía bên trái chỉ có hai biến.
Để khắc phục điều này, bạn có thể thêm biến
1,
Code language: Python (python)9:(1, 2)
Code language: Python (python)9Biến
1,
Code language: Python (python)9 là một biến thường xuyên trong Python. Theo quy ước, nó được gọi là một biến giả.Thông thường, bạn sử dụng biến giả để giải nén khi bạn không chăm sóc và sử dụng giá trị của nó sau đó.
Mở rộng việc giải nén bằng toán tử *
Đôi khi, bạn không muốn giải nén từng mặt hàng trong một bộ phận. Ví dụ: bạn có thể muốn giải nén các yếu tố thứ nhất và thứ hai. Trong trường hợp này, bạn có thể sử dụng toán tử
()
Code language: Python (python)7. Ví dụ:()
Code language: Python (python)0Output:
()
Code language: Python (python)1Trong ví dụ này, Python gán
(1, )
Code language: Python (python)2 cho(1, )
Code language: Python (python)3,(1, )
Code language: Python (python)4 cho(1, )
Code language: Python (python)5. Ngoài ra, Python gói các yếu tố còn lại(1, )
Code language: Python (python)6 và(1, )
Code language: Python (python)7 vào danh sách và gán nó cho biến(1, )
Code language: Python (python)8.Lưu ý rằng bạn chỉ có thể sử dụng toán tử
()
Code language: Python (python)7 một lần ở phía bên trái của một nhiệm vụ giải nén.Ví dụ sau đây dẫn đến lỗi:
()
Code language: Python (python)2Error:
()
Code language: Python (python)3Sử dụng toán tử * ở phía bên phải
Python cho phép bạn sử dụng toán tử
()
Code language: Python (python)7 ở phía bên phải. Giả sử rằng bạn có hai bộ dữ liệu:()
Code language: Python (python)4Ví dụ sau sử dụng toán tử
()
Code language: Python (python)7 để giải nén các bộ dữ liệu đó và hợp nhất chúng thành một tuple duy nhất:()
Code language: Python (python)5Output:
()
Code language: Python (python)6Bản tóm tắt
- Python sử dụng dấu phẩy (
()
Code language: Python (python)9) để xác định một tuple, không phải dấu ngoặc đơn. - Giải nén các bộ dữ liệu có nghĩa là gán các yếu tố riêng lẻ của một tuple cho nhiều biến.
- Sử dụng toán tử
()
Code language: Python (python)7 để gán các phần tử còn lại của một gán giải nén vào danh sách và gán nó cho một biến.
Bạn có thấy hướng dẫn này hữu ích không?