Gợi ý loại chính xác cho
8 là gì?Code language: Python [python]
[]
Tuy nhiên, 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"
Ví 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[xanh]
in[vàng]
in[đỏ]
Ghi chú. Số lượng biến phải khớp với số lượng giá trị trong bộ, 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 dưới dạng danh sách
Sử dụng Dấu hoa thị[]
Code language: Python [python]
9
[]
Nếu số lượng biến ít hơn số lượng giá trị, bạn có thể thêm ____59 vào tên biến và các giá trị sẽ được gán cho biến dưới dạng danh sách
Ví dụ
Chỉ định phần còn lại của các giá trị dưới dạng danh sách có tên "đỏ"
trái cây = ["táo", "chuối", "anh đào", "dâu tây", "mâm xôi"]
[xanh, vàng, *đỏ] = trái cây
in[xanh]
in[vàng]
in[đỏ]
Nếu dấu hoa thị được thêm vào tên biến khác với tên trước đó, Python sẽ gán giá trị cho biến cho đến khi số lượng giá trị còn lại khớp với số lượng biến còn lại
Python định nghĩa một bộ sử dụng dấu phẩy [_______07], 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]
[]
tuple[]
Code language: Python [python]
Để 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ố 8Lư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ụ
0Code language: Python [python]
[]
Phía bên trái
1Code language: Python [python]
[]
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àCode language: Python [python]
tuple[]
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
0Code language: Python [python]
1,2
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,
0
[1, 2]
Code language: Python [python]
đầ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[]
0Code language: Python [python]
1,
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 một biến
7Code language: Python [python]
1,
9
[1, 2]
Code language: Python [python]
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,