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]
這樣就成功了,不會報錯了。