python - 选择二维数组第二维的特定元素

标签 python python-3.x list

我在 python 中有一个这样的列表:

a = [[5, -4, 6], [9, 0, 6], [20, -1, 9], [6, 5, -7]]

我有一个 b 数组,如下所示:

b = [0, 1, 2, 0]

我怎样才能得到这个列表?

[ a[0][b[0]], a[1][b[1]], a[2][b[2]], a[3][b[3]] ]

我应该提一下,ba 的长度都是变量n。 我知道我可以用这些值创建一个带有循环的列表,但我正在为此寻找一种语法(类似于 map)。

感谢您的帮助。

最佳答案

zip 的快速方法是:

a = [[5, -4, 6], [9, 0, 6], [20, -1, 9], [6, 5, -7]]
b = [0, 1, 2, 0]
result = [ai[bi] for ai, bi in zip(a, b)]
print(result)
# [5, 0, 9, 6]

关于python - 选择二维数组第二维的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50696370/

相关文章:

python - 在没有 shell 转义序列的情况下在 Python 中打印标准输出

python - 忽略少于三个词的项目

python - 为什么用 python3 用正确的逻辑计算数字中的数字会出现错误的答案?

list - 如何在 Scheme 中编写自己的 "list?"程序

python - 如何在 cython 代码中使用 Python Decimal 对象?

python - 使用 AM/PM 将 python 字符串转换为日期时间 obj

python-3.x - 导入错误 : The HttpLocust class has been renamed to HttpUser in version 1. 0

java - 如何将列表转换为字符串

python - 从列表构造一个字典,其中每个值将包含当前键的补码

python - 导入错误 : cannot import name . ... 在 python 中