难以描述,请参考以下代码,请

对于var item1,我想知道:

第1节中,item1的值是lst元组的元素。
但是从第2节开始,items1的值将进入下一个级别,是lst元素的元素。

如何理解这一点?

 import random

 lst1 = [random.randint(1, 100) for i in range(10)]
 lst2 = [random.randint(1, 100) for i in range(10)]
 lst = list(zip(lst1, lst2))

 print(lst)

 # section 1
 for item1 in lst:
     print(item1)

 # section 2
 for item1, item2 in lst:
     print(item1, item2)




输出示例:

[(34, 85), (9, 18), (56, 89), (69, 82), (21, 69), (21, 46), (39, 78), (19, 27), (33, 71), (94, 2)]


第一部分:

(34, 85)
...
(94, 2)


第2节:

34 85
...
94 2




为何来自第1部分item1 =(34,85)但item1只是=来自第2部分的34

最佳答案

lst是元组列表

[(34, 85), (9, 18)]


for item1 in lst: item1是一个元组(34, 85)

for item1, item2 in lst: item1是元组(item, item2)的第一个元素,例如(34, 85)

python中的tuple是灵活的,我会扩展一下。

空元组:a = ()

1个项目元组:a = (1,)b = 1,c = [],,但不是a = (1)

对于我们的案例,这里有2个元组:

(34, 85)34, 85相同

(item1, item2)item1, item2相同

关于python - 环境:Python(3.6.4),值(级别)为何不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49397677/

10-12 18:33