Skip to main content
 首页 » 编程设计

python之允许 zip 函数将 1D 映射到 2D 数组

2025年05月04日20wayfarer

假设我有这两个数组,其中一个是二维数组。

letters = ['a', 'b', 'c', 'd'] 
values = [[1, 2, 3, 4], [10, 20, 30, 40]] 

现在,我想要进行以下分配,以便 letters 匹配 values 中的每个列表,如下所示:

a 1 
b 2 
c 3 
d 4 
 
a 10 
b 20 
c 30 
d 40 

只有当 letters 和 values 都是 1D 时,下面的代码才有效。我怎样才能修复它以实现上面我想要的任务?

letters = ['a', 'b', 'c', 'd'] 
values = [[1, 2, 3, 4], [10, 20, 30, 40]] 
for l, v in zip(letters, values): 
    print(l,v) 

谢谢

请您参考如下方法:

您需要对数据进行两次迭代:

letters = ['a', 'b', 'c', 'd'] 
values = [[1, 2, 3, 4], [10, 20, 30, 40]] 
for v in values: 
  for a, b in zip(letters, v): 
    print(f'{a} {b}') 
  print() 

输出:

a 1 
b 2 
c 3 
d 4 
 
a 10 
b 20 
c 30 
d 40