python - 从python中的两个数组查找的最快方法

标签 python python-2.7

我有三个相同大小的数组(最长可达 5000)。我必须在前两个数组中查找一对值(这将始终是唯一的),例如,(2,3) 并相应地从同一索引处的第三个数组中获取值。执行此操作的最快方法是什么或为此提供的任何简单的 python 内置库?该问题最简单的解决方案是:

a = [1,1,1,2,2,2,3,3,3,4,4,4]
b = [2,3,4,3,4,5,7,3,2,1,8,9]
c = [4,5,6,13,4,8,80,4,2,3,7,11]
for i in range(0, len(a)):
  if a[i] == 2 and b[i] == 3:
    fetch = c[i]

最佳答案

找到索引并使用它:

>>> c[zip(a, b).index((2, 3))]
13

或者准备一个字典来查找这对:

>>> dict(zip(zip(a, b), c))[2, 3]
13

如果您想查找多对而不是一对,这会更快。如果该对可能不存在,您可以使用它的 get

关于python - 从python中的两个数组查找的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49087311/

相关文章:

python - "python"环境变量设置在哪里?

python - 如何动态地重新加载自定义包中的模块?

Python DSP,自动增益控制(AGC)

python - 检查 Python gRPC 中的消息大小

python - Python 中类的列表或散列的 in 运算符的机制是什么?

python - pymysql 更新不起作用

python - Pandas:循环每一行,提取特征并创建新列

python - 插入排序算法python有问题

python - 如何将Python列表中的一个单词替换为另一个单词?

python-2.7 - 明文认证: Python