2
讓的說我們已經給這個小程序:如何遍歷Python中指定範圍的列表中的參數?
a = [[70, 19, 54, 7, 63],
[78, 72, 93, 78, 33],
[83, 55, 57, 9, 22],
[95, 64, 90, 91, 54]]
for x, y, *z in a:
print("x = {}, y = {}, z = {}".format(x, y, z))
這將會給我的第一個元素在列表a
:
x = 70, y = 19, z = [54, 7, 63]
但我要的是定義,有多少元素定義的變量應該有,例如這樣的事情:
for x, y[:2], z[:2] in a:
print("x = {}, y = {}, z = {}".format(x, y, z))
其確實,這不會在python中工作。 (我試過了)
這將是很好,如果有一種方式來做這樣的事情在Python中。
我知道我可以做這樣的事情:
b = list(zip(*a))
c1 = b[0]
c2 = list(zip(*b[1:3]))
c3 = list(zip(*b[3:5]))
for x, y, z in zip(c1, c2, c3):
print("x = {}, y = {}, z = {}".format(x, y, z))
這將使我在a
第一個參數:
x = 70, y = (19, 54), z = (7, 63)
但對於一個巨大的名單a
這是現在這樣很高效。
那麼爲什麼不直接從循環中的切片*分配*?對於a,x,y,z =值[0],值[1:3],值[3:5]'中的值。 –
或更好,仍然使用更詳細的數據結構,它不會將所有值放入一個長列表中。 –
這會工作,但我認爲它可以直接在for循環中執行。 – PiMathCLanguage