python - 选择二维数组第二维的特定元素
问题描述
我在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]] ]
我应该提到,b
和的长度a
都是变量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]
推荐阅读
- google-apps-script - 如何使用应用程序脚本调用工作簿/工作表 - 完全合格的参考
- java - org.springframework.web.servlet.DispatcherServlet noHandlerFound 404 错误响应
- r - 如何在闪避直方图的不同 bin 之间插入填充?
- javascript - AJAX 请求返回带有属性的 JSON,而不是整个字符串作为一个值
- asp.net-mvc - 发布网站后表单不起作用,但它在本地主机上工作
- python - 将多行 Pandas DataFrame 添加到新 DataFrame 中
- javascript - 获取一个 JSON 对象并使用它
- sql - 在全局表中存储 WHERE 子句
- c# - 解析器如何处理泛型类型参数?
- javascript - 当我确实 require('/todoController'); 时,我不断收到此错误。