您可以使用
zip
两次:
A = [["a", "b", "c"],["f", "b", "a"]]
numbers = [[1, 2 ,3], [1, 2, 3]]
frequency = [[0.2, 0.5, 0.7], [0.1, 0.8, 0.9]]
output = [list(zip(*zipped)) for zipped in zip(A, numbers, frequency)]
print(output)
# [[('a', 1, 0.2), ('b', 2, 0.5), ('c', 3, 0.7)], [('f', 1, 0.1), ('b', 2, 0.8), ('a', 3, 0.9)]]
或者,您可以使用
itertools.starmap
要获取(一个或多个)迭代器,请执行以下操作:
from itertools import starmap
output = starmap(zip, zip(A, numbers, frequency))
for subzip in output:
print(*subzip)
# ('a', 1, 0.2) ('b', 2, 0.5) ('c', 3, 0.7)
# ('f', 1, 0.1) ('b', 2, 0.8) ('a', 3, 0.9)