Hướng dẫn unpack tuple python for loop - giải nén tuple python cho vòng lặp

Tôi tình cờ thấy mã sau:

for i, a in enumerate(attributes):
   labels.append(Label(root, text = a, justify = LEFT).grid(sticky = W))
   e = Entry(root)
   e.grid(column=1, row=i)
   entries.append(e)
   entries[i].insert(INSERT,"text to insert")

Tôi không hiểu bit

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
3 và tìm kiếm thông tin trên
>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
4 không mang lại bất kỳ kết quả hữu ích nào. Khi tôi thử và thử nghiệm mã, tôi gặp lỗi:

ValueError: Cần nhiều hơn 1 giá trị để giải nén

Có ai biết nó làm gì, hoặc một thuật ngữ cụ thể hơn liên quan đến nó mà tôi có thể google để tìm hiểu thêm không?

Hướng dẫn unpack tuple python for loop - giải nén tuple python cho vòng lặp

Gino Mempin

21.4K25 Huy hiệu vàng87 Huy hiệu bạc115 Huy hiệu đồng25 gold badges87 silver badges115 bronze badges

Đã hỏi ngày 3 tháng 6 năm 2012 lúc 4:24Jun 3, 2012 at 4:24

Bạn có thể google "Tuple giải nén". Điều này có thể được sử dụng ở nhiều nơi khác nhau trong Python. Đơn giản nhất là trong bài tập:

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2

Trong một vòng lặp, nó hoạt động tương tự. Nếu mỗi phần tử của ITBER là

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
5, thì bạn có thể chỉ định hai biến và mỗi phần tử trong vòng lặp sẽ được giải nén cho hai biến.

>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6

Hàm

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
6 tạo ra một bộ dữ liệu có thể sử dụng theo cách này.

Hướng dẫn unpack tuple python for loop - giải nén tuple python cho vòng lặp

Alex Waygood

5.2663 huy hiệu vàng18 Huy hiệu bạc44 Huy hiệu đồng3 gold badges18 silver badges44 bronze badges

Đã trả lời ngày 3 tháng 6 năm 2012 lúc 4:27Jun 3, 2012 at 4:27

Hướng dẫn unpack tuple python for loop - giải nén tuple python cho vòng lặp

BrenbarnbrenbarnBrenBarn

Phù thủy vàng 234K3535 gold badges397 silver badges375 bronze badges

0

Tái tạo về cơ bản cung cấp cho bạn một chỉ số để làm việc trong vòng lặp cho. Vì thế:

for i,a in enumerate([4, 5, 6, 7]):
    print(i, ": ", a)

Sẽ in:

0: 4
1: 5
2: 6
3: 7

Đã trả lời ngày 3 tháng 6 năm 2012 lúc 4:29Jun 3, 2012 at 4:29

Nathancahillnathancahillnathancahill

10.1k9 Huy hiệu vàng47 Huy hiệu bạc90 Huy hiệu Đồng9 gold badges47 silver badges90 bronze badges

Lấy mã này làm ví dụ:

elements = ['a', 'b', 'c', 'd', 'e']
index = 0

for element in elements:
  print element, index
  index += 1

Bạn lặp qua danh sách và lưu trữ một biến chỉ mục là tốt.

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
7 làm điều tương tự, nhưng chính xác hơn:

elements = ['a', 'b', 'c', 'd', 'e']

for index, element in enumerate(elements):
  print element, index

Ký hiệu

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
8 là bắt buộc vì
>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
6 trả về một tuple (
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
0,
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
1, ...) được giải nén thành hai biến khác nhau.

Đã trả lời ngày 3 tháng 6 năm 2012 lúc 4:29Jun 3, 2012 at 4:29

NathancahillnathancahillBlender

10.1k9 Huy hiệu vàng47 Huy hiệu bạc90 Huy hiệu Đồng52 gold badges429 silver badges487 bronze badges

0

Lấy mã này làm ví dụ:

Result:

[(0, 'a'), (1, 'b'), (2, 'c')]

Bạn lặp qua danh sách và lưu trữ một biến chỉ mục là tốt.

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
7 làm điều tương tự, nhưng chính xác hơn:

Ký hiệu

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
8 là bắt buộc vì
>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
6 trả về một tuple (
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
0,
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
1, ...) được giải nén thành hai biến khác nhau.51 gold badges274 silver badges363 bronze badges

BlenderBlenderJun 3, 2012 at 7:11

281K52 Huy hiệu vàng429 Huy hiệu bạc487 Huy hiệu đồngwhi

[i for i in enumerate(['a','b','c'])]
5 gold badges32 silver badges39 bronze badges

2

STH

users = [
    ('alice', '', 'dog'),
    ('bob', '', 'cat'),
    ('fred', '', 'parrot'),
]

for index, (name, addr, pet) in enumerate(users):
    print(index, name, addr, pet)

Phù bằng vàng 216K51

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
0

Đã trả lời ngày 3 tháng 6 năm 2012 lúc 7:11Apr 12, 2021 at 15:38

tuck1stuck1stuck1s

Whiwhi7 silver badges22 bronze badges

1

2.5735 huy hiệu vàng32 Huy hiệu bạc39 Huy hiệu đồng

Bạn có thể kết hợp phương pháp

>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
2 với việc giải nén trực tiếp các bộ dữ liệu bằng cách sử dụng
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
3. Điều này rất hữu ích khi bạn muốn thiết lập một số giá trị liên quan trong vòng lặp của bạn có thể được biểu thị mà không có biến Tuple hoặc từ điển trung gian, ví dụ:Jun 3, 2012 at 4:28

bản inGreg E.

Đã trả lời ngày 12 tháng 4 năm 2021 lúc 15:381 gold badge14 silver badges22 bronze badges

8627 Huy hiệu bạc22 Huy hiệu Đồng

Hàm

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
6 trả về một đối tượng Trình tạo, ở mỗi lần lặp, mang lại một tuple chứa chỉ số của phần tử (
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
5), được đánh số bắt đầu từ
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
6 theo mặc định, được kết hợp với chính phần tử (
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
...     print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
...     print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
7) và vòng lặp
>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
4 thuận tiện cho phép bạn Truy cập cả hai trường của các bộ dữ liệu được tạo và gán tên biến cho chúng.

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
1

Đã trả lời ngày 3 tháng 6 năm 2012 lúc 4:28

Greg E.Greg E.Feb 13, 2019 at 12:06

>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
2

2.6821 Huy hiệu vàng14 Huy hiệu bạc22 Huy hiệu đồngJan 26 at 6:48

2

Làm thế nào để tôi giải nén một tuple trong một vòng lặp?

Chúng ta có thể thực hiện việc giải nén ngay bên trong vòng lặp for vì bất cứ thứ gì bạn có thể đặt ở phía bên trái của dấu hiệu bằng nhau, bạn có thể đặt vào giữa cho và trong một vòng.Đây là nơi phổ biến nhất mà bạn sẽ thấy việc giải nén được sử dụng: trên dòng đầu tiên của vòng lặp.tuple unpacking right inside the for loop itself because anything you can put on the left-hand side of the equal sign, you can put in between the for and the in in a for loop. This is the most common place you'll see tuple unpacking used: on the first line of a for loop.

Bạn có thể giải nén một tuple trong Python không?

Trong các bộ dữ liệu python có thể được giải nén bằng cách sử dụng một hàm trong bộ hàm chức năng được truyền và trong các giá trị chức năng được giải nén vào biến bình thường.tuples can be unpacked using a function in function tuple is passed and in function values are unpacked into normal variable.

Bạn có thể cho Loop với Tuple trong Python không?

Bạn có thể lặp qua các mục tuple bằng cách sử dụng một vòng lặp..

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

Những điều cơ bản của việc giải nén một tuple và một 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, 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.....
Giải nén với _ (nhấn mạnh) theo quy ước, các giá trị không cần thiết có thể được gán cho nhấn mạnh _ trong Python.....
Giải nén với * (dấu hoa thị).