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