bdh*_*har 0 python tuples list
我可以理解zip()函数用于构造这样的元组列表:
x = ['a', 'b', 'c']
y = ['x', 'y', 'z', 'l']
lstTupA = zip(x,y)
Run Code Online (Sandbox Code Playgroud)
lstTupA会的[('a', 'x'), ('b', 'y'), ('c', 'z')].
lstA, lstB = zip(*lstTupA)
Run Code Online (Sandbox Code Playgroud)
上述操作中提取keys的元组的列表lstA和values在元组的列表中lstB.
lstA是('a', 'b', 'c')和lstB是('x', 'y', 'z').
我的疑问是:为什么lstA和lstB元组而不是列表?a,b并且c是同质的,所以x,y和z.将它们组合为元组是不合逻辑的,是吗?
理想的情况下lstA, lstB = zip(*lstTupA)应该分配['a', 'b', 'c']给lstA和['x', 'y', 'z']给lstB(名单)吧?
有人请澄清一下!
谢谢.
"将它们归类为元组是不合逻辑的,是吗?"
是.这是合乎逻辑的.
有两种内置序列.列表和元组.
该zip()函数有n个参数,用于定义要在n处固定的元组的基数.
只有当其他参数以某种方式,神奇地,附加或不附加到结果序列时,列表才是合适的.这将意味着可变长度的序列,不是由参数的数量定义的zip().这将是一个相当复杂的结构,只需一个函数调用即可构建.