为什么循环的代码顺序不一样运行出来的不一样(关键词-5S)

x = ["Mon", "Tues", "Wed", "Thur", "Fri","Sat","Sun"]
y = [20, 40, 35, 55, 42, 80, 50]
z=[1,2,3,4,5,6,7]
for x1, y1,z1 in zip(x,y,z):
    print(x1,y1,z1)
for x in zip(x,y,z):
    print(x)

输出的结果是正确的

Mon 20 1
Tues 40 2
Wed 35 3
Thur 55 4
Fri 42 5
Sat 80 6
Sun 50 7
('Mon', 20, 1)
('Tues', 40, 2)
('Wed', 35, 3)
('Thur', 55, 4)
('Fri', 42, 5)
('Sat', 80, 6)
('Sun', 50, 7)

然而


x = ["Mon", "Tues", "Wed", "Thur", "Fri","Sat","Sun"]
y = [20, 40, 35, 55, 42, 80, 50]
z=[1,2,3,4,5,6,7]
for x in zip(x,y,z):
    print(x)
for x1, y1,z1 in zip(x,y,z):
    print(x1,y1,z1)

输出的却是


('Mon', 20, 1)
('Tues', 40, 2)
('Wed', 35, 3)
('Thur', 55, 4)
('Fri', 42, 5)
('Sat', 80, 6)
('Sun', 50, 7)
Sun 20 1
50 40 2
7 35 3

这是为啥?

  1. x变量值被第一个循环改变了,第一个for x in zip(x,y,z):循环完成x=('Sun', 50, 7)
  2. for x1, y1,z1 in zip(x,y,z):循环时,x=('Sun', 50, 7) y = [20, 40, 35, 55, 42, 80, 50] z=[1,2,3,4,5,6,7]
  3. 所以输出不是你想要的
  4. 修改第一个循环变量 for a in zip(x,y,z):

第二组中的x不是第一行的x,而是第5行的x

下面一组中的第二句zip(x,y,z)中的x跟第一句中的for x in zip(x,y,z)中的x打架了啊

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632