Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách giải nén danh sách trong Python để làm cho mã của bạn súc tích hơn.: in this tutorial, you’ll learn how to unpack a list in Python to make your code more concise. Giới thiệu về danh sách giải nénVí dụ sau đây xác định danh sách các chuỗi: colors = ['red', 'blue', 'green'] Code language: Python (python)
Để gán các phần tử thứ nhất, thứ hai và thứ ba của danh sách cho các biến, bạn có thể gán các yếu tố riêng lẻ cho các biến như thế này: red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python)
Tuy nhiên, Python cung cấp một cách tốt hơn để làm điều này. Nó được gọi là trình tự giải nén. Về cơ bản, bạn có thể gán các yếu tố của một danh sách (và cũng là một tuple) cho nhiều biến. Ví dụ: red, blue, green = colors Code language: Python (python)
Câu lệnh này gán các phần tử thứ nhất, thứ hai và thứ ba của danh sách red, blue, green = colors Code language: Python (python) 0 cho các biến red, blue, green = colors Code language: Python (python) 1, red, blue, green = colors Code language: Python (python) 2 và red, blue, green = colors Code language: Python (python) 3.Trong ví dụ này, số lượng biến ở phía bên trái giống như số lượng các phần tử trong danh sách ở phía bên phải. Nếu bạn sử dụng số lượng biến số ở phía bên trái hơn, bạn sẽ gặp lỗi. Ví dụ: colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python)
Error: ValueError: too many values to unpack (expected 2) Code language: Python (python)
Trong trường hợp này, Python không thể giải nén ba yếu tố cho hai biến. Giải nén và đóng góiNếu bạn muốn giải nén một vài yếu tố đầu tiên của danh sách và không quan tâm đến các yếu tố khác, bạn có thể: - Đầu tiên, giải nén các yếu tố cần thiết cho các biến.
- Thứ hai, đóng gói các phần tử còn lại vào một danh sách mới và gán nó cho một biến khác.
Bằng cách đặt dấu hoa thị ( red, blue, green = colors Code language: Python (python) 4) trước một tên biến, bạn sẽ đóng gói các phần tử còn lại vào một danh sách và gán chúng cho một biến. Ví dụ:colors = ['red', 'blue', 'green']
red, blue, *other = colors
print(red)
print(blue)
print(other)
Code language: Python (python)
Output: red
blue
['green'] Code language: Python (python)
Ví dụ này gán các phần tử thứ nhất và thứ hai của danh sách red, blue, green = colors Code language: Python (python) 0 cho các biến red, blue, green = colors Code language: Python (python) 1 và red, blue, green = colors Code language: Python (python) 3. Và nó gán phần tử cuối cùng của danh sách cho biến red, blue, green = colors Code language: Python (python) 8.Ở đây, một ví dụ khác: colors = ['cyan', 'magenta', 'yellow', 'black']
cyan, magenta, *other = colors
print(cyan)
print(magenta)
print(other)
Code language: Python (python)
Output: cyan
magenta
['yellow', 'black'] Code language: Python (python)
Ví dụ này gán các phần tử thứ nhất và thứ hai cho các biến. Nó đóng gói hai yếu tố cuối cùng trong một danh sách mới và gán danh sách mới cho biến red, blue, green = colors Code language: Python (python) 8.Bản tóm tắt- Giải nén gán các phần tử của danh sách cho nhiều biến.
- Sử dụng dấu hoa thị ( *) trước một biến như *biến_name này để đóng gói các phần tử còn sót lại của danh sách vào danh sách khác.
Bạn có thấy hướng dẫn này hữu ích không?
Trong Python, bạn có thể gán các yếu tố của một tuple hoặc liệt kê cho nhiều biến. Nó được gọi là trình tự giải nén. - 5. Cấu trúc dữ liệu - Tài liệu Python 3.7.4RC1
Bài viết này mô tả các nội dung sau đây. - Những điều cơ bản về việc giải nén một tuple và một danh sách
- Giải nén một danh sách và danh sách lồng nhau
- Giải nén với
colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 0 (dấu gạch dưới) - Giải nén với
red, blue, green = colors Code language: Python (python) 4 (dấu hoa thị)
Xem bài viết sau đây cho trường hợp giải nén các bộ dữ liệu, danh sách và từ điển ( colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 2) là đối số với red, blue, green = colors Code language: Python (python) 4 (dấu hoa thị).- Giải nén và vượt qua danh sách
Những điều cơ bản về việc giải nén một tuple và một danh sáchGiải nén một danh sách và danh sách lồng nhau t = (0, 1, 2)
a, b, c = t
print(a)
print(b)
print(c)
# 0
# 1
# 2
l = [0, 1, 2]
a, b, c = l
print(a)
print(b)
print(c)
# 0
# 1
# 2
Giải nén với colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 0 (dấu gạch dưới)- Xem bài viết sau đây cho trường hợp giải nén các bộ dữ liệu, danh sách và từ điển (
colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 2) là đối số với red, blue, green = colors Code language: Python (python) 4 (dấu hoa thị).
Giải nén và vượt qua danh sách Nếu bạn viết các biến ở phía bên trái được phân tách bằng dấu phẩy colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 4, các phần tử của một tuple hoặc danh sách ở phía bên phải được gán cho mỗi biến. Các ví dụ sau đây sử dụng các bộ dữ liệu, nhưng điều tương tự cũng đúng với danh sách.red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 1Bởi vì dấu ngoặc đơn của các bộ dữ liệu có thể được bỏ qua, nhiều giá trị có thể được gán cho nhiều biến trong một dòng như sau. Giải nén một danh sách và danh sách lồng nhauGiải nén với colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 0 (dấu gạch dưới)red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 2Giải nén với colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python)0 (dấu gạch dưới)Xem bài viết sau đây cho trường hợp giải nén các bộ dữ liệu, danh sách và từ điển ( colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 2) là đối số với red, blue, green = colors Code language: Python (python) 4 (dấu hoa thị).red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 3Giải nén với red, blue, green = colorsCode language: Python (python)4 (dấu hoa thị)Nếu số lượng biến nhỏ hơn số lượng phần tử, việc thêm dấu hoa thị red, blue, green = colors Code language: Python (python) 4 vào tên biến sẽ gán các phần tử lại với nhau như một danh sách.Nó được thực hiện trong Python 3 và không thể được sử dụng trong Python 2. Các phần tử từ đầu và kết thúc được gán cho các biến mà không có red, blue, green = colors Code language: Python (python) 4 và các phần tử còn lại được gán làm danh sách cho các biến có red, blue, green = colors Code language: Python (python) 4.red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 4Ví dụ, khi nó muốn chỉ gán hai yếu tố đầu tiên của một tuple hoặc danh sách cho các biến, dấu gạch dưới colors = ['red', 'blue', 'green']
red, blue = colors
Code language: Python (python) 0 có thể được sử dụng cho các bộ phận không cần thiết.
red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 5Quá trình tương tự có thể được viết như sau: red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 6Bạn có thể thêm red, blue, green = colors Code language: Python (python) 4 vào chỉ một biến.Nếu có nhiều biến với red, blue, green = colors Code language: Python (python) 4, không thể xác định được có bao nhiêu yếu tố được chỉ định, do đó ValueError: too many values to unpack (expected 2) Code language: Python (python) 8 được nâng lên.red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 7Lưu ý rằng ngay cả khi chỉ có một phần tử được gán cho một biến có red, blue, green = colors Code language: Python (python) 4, nó được gán như một danh sách.red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 8Nếu không có các yếu tố bổ sung, một danh sách trống được gán. red = colors[0]
blue = colors[1]
green = colors[2]
Code language: Python (python) 9
|