python - 根据另外 2 个列表的索引比较 2 个列表,并使用列表理解将索引保存在新列表中

标签 python list indexing comparison list-comprehension

所以我想做的是:

1) 查找 list1[y] == list2[x]

2) 判断是否list3[y] < (0.4 list4[x])

3) 如果是,则将索引 y 存储在新的索引列表中

这个循环有效,但是使用我的数据集运行几乎需要整整一分钟。我想知道我是否可以通过列表理解来做到这一点。

预先感谢任何人的帮助。

    for y in range(len(list1)):
        for x in range(len(list2)):
            if list1[y] == list2[x]:
                if list3[y] < (0.4 * list4[x]):
                    list5.append(y)

最佳答案

我不确定这是否会显着提高性能,但请尝试以下操作:

list5 = [y for y, val1 in enumerate(list1) for x, val2 in enumerate(list2) if val1 == val2 and list3[y] < (0.4 * list4[x])]

关于python - 根据另外 2 个列表的索引比较 2 个列表,并使用列表理解将索引保存在新列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54373063/

相关文章:

python - 值错误位于/addtodo/: Not able to add new items in todo-list

python - 将两列坐标合并为一列

python - wxPython 按钮事件在 Windows 和 Linux 中显示不一致的结果

python - 如何从MatLab中的Python UDP客户端接收UDP数据。

java - 将对象列表连接到 JTable

python - python-pandas中通过 bool 运算符获取数字索引

python - 在更短的时间内(优化时间)从另一个列表中删除一个列表中的所有值

java - ArrayList <Integer> 与 get/remove 方法

php - Magento 重新索引错误产品平面数据

MySQL 将 DATETIME 更新为 DATE