Python的for循环如何同时输出两个或者多个值
错误用法如下:
def surface3d_data():
print('开始制图第一步:导入xyz数据')
iix, iiy, iiz = float_range()
print('leibie:', type(iix))
for t0, t1, t2 in tqdm(iix, iiy, iiz): # tqdm()用于显示迭代器的进度条显示
x = t0
y = t1
z = t2
print('x, y, z = (%r, %r, %r):' % (x, y, z))
yield [x, y, z]
会报错如下:
ValueError: too many values to unpack (expected 3)
ValueError:太多值无法解包
注意
当传入多个参数时,在 for 循环语句 in 那一条后面不能直接跟上列表、元组等来循环
需将 iix, iiy, iiz 用 zip()
def surface3d_data():
print('开始制图第一步:导入xyz数据')
iix, iiy, iiz = float_range()
print('leibie:', type(iix))
for t0, t1, t2 in tqdm(zip(iix, iiy, iiz)):
x = t0
y = t1
z = t2
print('x, y, z = (%r, %r, %r):' % (x, y, z))
yield [x, y, z]
这样就成功了,不会报错了。
"
年轻人的精神,令人羡慕,
生活属于你。你的骚动,
你的愤怒,你的热情,
是时光的玫瑰,不安又鲜活。
去犯错、去寻找、去忍受、去探索、去爱吧,
因为在爱的灰烬中,火焰永存。
"
❤️