Hướng dẫn how do you unwrap a list in a list python? - làm thế nào để bạn mở một danh sách trong một con trăn danh sách?

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én

Ví 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 = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
7 cho các biến

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
8,

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
9 và

red, blue, green = colors

Code language: Python (python)
0.

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ói

Nế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)
1) 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 = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
7 cho các biến

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
8 và

red, blue, green = colors

Code language: Python (python)
0. 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)
5.

Ở đâ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)
5.

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?

Tôi có danh sách danh sách các bộ dữ liệu:

a = [[(1, 2), (3, 4), (5, 6)], [(7, 8), (9, 10)]]

Làm cách nào để lập một danh sách các bộ dữ liệu:

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
0

Cách ngây thơ là:

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
1

Danh sách hiểu hoặc bất kỳ ý tưởng khác được chào đón.

Khi được hỏi ngày 5 tháng 5 năm 2018 lúc 18:53May 5, 2018 at 18:53

12

Sử dụng itertoolsitertools

demo:

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
2

Output:

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
3

Đã trả lời ngày 5 tháng 5 năm 2018 lúc 18:56May 5, 2018 at 18:56

Hướng dẫn how do you unwrap a list in a list python? - làm thế nào để bạn mở một danh sách trong một con trăn danh sách?

RakeshrakeshRakesh

79,7K17 Huy hiệu vàng72 Huy hiệu bạc109 Huy hiệu đồng17 gold badges72 silver badges109 bronze badges

2

Hoạt động này được gọi là 'Flatten' trong một số ngôn ngữ khác. Trong Python, phương pháp theo dõi có thể là ngắn nhất.

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
4

Nó cũng hoạt động trong trường hợp danh sách cha mẹ có nhiều danh sách con.

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
5

Đã trả lời ngày 5 tháng 5 năm 2018 lúc 19:01May 5, 2018 at 19:01

set0gut1set0gut1set0gut1

1.5741 Huy hiệu vàng7 Huy hiệu bạc21 Huy hiệu đồng1 gold badge7 silver badges21 bronze badges

1

Bạn không muốn nối thêm, bạn muốn mở rộng. Bạn có thể sử dụng vòng lặp thực sự đơn giản

red = colors[0] blue = colors[1] green = colors[2]

Code language: Python (python)
6

Đã trả lời ngày 5 tháng 5 năm 2018 lúc 18:59May 5, 2018 at 18:59

Nick Chapmannick ChapmanNick Chapman

4.20823 Huy hiệu bạc39 Huy hiệu Đồng23 silver badges39 bronze badges

1

Làm thế nào để bạn mở một danh sách trong Python?

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.Use the asterisk (*) in front of a variable like this *variable_name to pack the leftover elements of a list into another list.

Làm thế nào để bạn lập một danh sách các danh sách trong một danh sách Python?

Có ba cách để làm phẳng danh sách Python:..
Sử dụng danh sách hiểu biết ..
Sử dụng một vòng lặp cho vòng lặp ..
Sử dụng itertools.Chuỗi () Phương thức ..

Làm cách nào để giải nén một danh sách các bộ dữ liệu trong Python?

Python3.Phương pháp số 2: Sử dụng toán tử Zip () và * chủ yếu được sử dụng để thực hiện giải nén và hầu hết Pythonic và được đề xuất.Phương pháp này thường được sử dụng để thực hiện nhiệm vụ này bởi các lập trình viên trên khắp.* Nhà điều hành giải nén các bộ dữ liệu vào danh sách độc lập.Using zip() and * operator Mostly used method to perform unzip and most Pythonic and recommended as well. This method is generally used to perform this task by programmers all over. * operator unzips the tuples into independent lists.

Làm thế nào để bạn giải nén một bộ trong Python?

Giải nén trong Python đề cập đến một hoạt động bao gồm việc gán một giá trị có thể lặp lại cho một tuple (hoặc danh sách) các biến trong một câu lệnh gán duy nhất.Để bổ sung, thuật ngữ đóng gói có thể được sử dụng khi chúng tôi thu thập một số giá trị trong một biến duy nhất bằng toán tử giải nén có thể lặp lại, *.assigning an iterable of values to a tuple (or list ) of variables in a single assignment statement. As a complement, the term packing can be used when we collect several values in a single variable using the iterable unpacking operator, * .