Python định nghĩa một tuple bằng cách sử dụng dấu phẩy [_______0_______7], không phải dấu ngoặc đơn
8. Ví dụ: phần sau định nghĩa một bộ có hai phần tửCode language: Python [python]
[]
Code language: Python [python]
1,2
Python sử dụng dấu ngoặc đơn để làm cho bộ dữ liệu rõ ràng hơn
Code language: Python [python]
[1, 2]
Python cũng sử dụng dấu ngoặc đơn để tạo một bộ dữ liệu trống
Code language: Python [python]
[]
Ngoài ra, bạn có thể sử dụng hàm tạo
9 như thế nàyCode language: Python [python]
[]
Code language: Python [python]
tuple[]
Để xác định một bộ chỉ có một phần tử, bạn vẫn cần sử dụng dấu phẩy. Ví dụ sau minh họa cách định nghĩa một bộ với một phần tử
Code language: Python [python]
1,
Nó tương đương như sau
________số 8_______Lưu ý rằng sau đây là một số nguyên, không phải một tuple
Code language: Python [python]
[1]
Giải nén một tuple
Giải nén một bộ dữ liệu có nghĩa là chia các phần tử của bộ dữ liệu thành các biến riêng lẻ. Ví dụ
Code language: Python [python]
x, y = [1, 2]
Phía bên trái
Code language: Python [python]
x, y
là một bộ gồm hai biến
0 vàCode language: Python [python]
tuple[]
1Code language: Python [python]
tuple[]
Vế phải cũng là một bộ gồm hai số nguyên
2 và
tuple[]
Code language: Python [python]
3Code language: Python [python]
tuple[]
Biểu thức gán các phần tử bộ dữ liệu ở 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 từng phần tử
Trong ví dụ trên,
0 sẽ lấyCode language: Python [python]
tuple[]
2 vàCode language: Python [python]
tuple[]
1 sẽ lấyCode language: Python [python]
tuple[]
3Code language: Python [python]
tuple[]
Xem một ví dụ khác
Code language: Python [python]
x, y ,z = 10, 20, 30
Vế bên phải là một bộ gồm ba số nguyên
8,Code language: Python [python]
tuple[]
9 vàCode language: Python [python]
tuple[]
0. Bạn có thể kiểm tra nhanh loại của nó như sauCode language: Python [python]
1,
0Code language: Python [python]
[1, 2]
đầu ra
1Code language: Python [python]
[1, 2]
Trong ví dụ trên, các biến
0,Code language: Python [python]
tuple[]
1 vàCode language: Python [python]
tuple[]
3 sẽ nhận các giá trị lần lượt làCode language: Python [python]
1,
8,Code language: Python [python]
tuple[]
9 vàCode language: Python [python]
tuple[]
0
1,
Code language: Python [python]
Sử dụng bộ giải nén để hoán đổi giá trị của hai biến
Theo truyền thống, để hoán đổi giá trị của hai biến, bạn sẽ sử dụng một biến tạm thời như thế này
2Code language: Python [python]
[1, 2]
đầu ra
3Code language: Python [python]
[1, 2]
Trong Python, bạn có thể sử dụng cú pháp unpacking tuple để đạt được kết quả tương tự
4Code language: Python [python]
[1, 2]
đầu ra
5Code language: Python [python]
[1, 2]
Biểu thức sau đổi chỗ giá trị của hai biến x và y
6Code language: Python [python]
[1, 2]
Trong biểu thức này, Python đánh giá phía bên phải trước rồi gán biến từ phía bên trái cho các giá trị từ phía bên phải
Giá trịError. quá nhiều giá trị để giải nén
Ví dụ sau giải nén các phần tử của một bộ dữ liệu thành các biến. Tuy nhiên, nó sẽ dẫn đến một lỗi
7Code language: Python [python]
[1, 2]
Lỗi
8Code language: Python [python]
[1, 2]
Lỗi này là do phía bên tay 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
7Code language: Python [python]
1,
9Code language: Python [python]
[1, 2]
Biến
7 là một biến thông thường trong Python. Theo quy ước, nó được gọi là biến giảCode language: Python [python]
1,
Thông thường, bạn sử dụng biến giả để giải nén khi bạn không quan tâm và sử dụng giá trị của nó sau đó
Giải nén mở rộng bằng toán tử *
Đôi khi, bạn không muốn giải nén từng mục trong một bộ. Ví dụ: bạn có thể muốn giải nén phần tử thứ nhất và thứ hai. Trong trường hợp này, bạn có thể sử dụng toán tử
9. Ví dụCode language: Python [python]
1,
0Code language: Python [python]
[]
đầu ra
1Code language: Python [python]
[]
Trong ví dụ này, Python gán
0 choCode language: Python [python]
[1, ]
1,Code language: Python [python]
[1, ]
2 choCode language: Python [python]
[1, ]
3. Ngoài ra, Python gói các phần tử còn lạiCode language: Python [python]
[1, ]
4 vàCode language: Python [python]
[1, ]
5 vào một danh sách và gán nó cho biếnCode language: Python [python]
[1, ]
6Code language: Python [python]
[1, ]
Lưu ý rằng bạn chỉ có thể sử dụng toán tử
9 một lần ở vế trái của bài tập giải nénCode language: Python [python]
1,
Ví dụ sau dẫn đến lỗi
2Code language: Python [python]
[]
Lỗi
3Code language: Python [python]
[]
Sử dụng toán tử * ở vế phải
Python cho phép bạn sử dụng toán tử
9 ở vế phải. Giả sử rằng bạn có hai bộ dữ liệuCode language: Python [python]
1,
4Code language: Python [python]
[]
Ví dụ sau sử dụng toán tử
9 để giải nén các bộ dữ liệu đó và hợp nhất chúng thành một bộ dữ liệu duy nhấtCode language: Python [python]
1,