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

标签 python python-3.x

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

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

只有当 lettersvalues 都是 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

关于python - 允许 zip 函数将 1D 映射到 2D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51107126/

相关文章:

python - 如何制作功能类似于枚举而不实际使用枚举的代码?

python-3.x - 使用图像的每个像素的每个位制作 8 个图像

python - 按数据框中的日期过滤数据

python - 使用请求登录后无法使用 Selenium 获取配置文件名称

c++ - Ctypes 在使用 CMake 创建的共享库中找不到符号

python - 将 Pandas 数据框转换为 json 很慢

python - 解析 JSON 数据时出错

python - 从按另一列分组的 pandas 列中的列表中查找频繁元素

python - 使用 Openpyxl 进行迭代时出现 MemoryLoadError

python - Python类没有属性错误