*的分解作用
在列表前面加*,会将列表拆成独立的元素。不仅仅是列表,元祖、字典、numpy数组也可以加。
listA = [[[1,2],[2,3],[3,4]], [[5,6],[7,8],[9,10]]] #(2)(3)
print(*listA)
# [[1, 2], [2, 3], [3, 4]] [[5, 6], [7, 8], [9, 10]]
如果再加上zip,如果是一个对象比如说listA,就将这个listA的每个元素迭代;如果是多个对象比如说*listA,就将这多个对象里相应的元素进行打包迭代,以下例子可以细品一下,这样可以巧妙的实现一个维度转换输出,之前是按行输出,之后相当于按列输出。
for l in zip(*listA):
print(l)
'''
([1, 2], [5, 6])
([2, 3], [7, 8])
([3, 4], [9, 10])
'''
for l in zip(listA):
print(l)
'''
([[1, 2], [2, 3], [3, 4]],)
([[5, 6], [7, 8], [9, 10]],)
'''