python - 还有另一种编写此代码的方法吗?这似乎很难理解

标签 python opencv for-loop cv2

我在youtube的OpenCV类(class)中看到了这一点,但没有得到。
有人可以解释一下这是什么吗?有没有更简单的方法可以编写此部分?

import cv2
event = [i for i in dir(cv2) if 'EVENT' in i] 

最佳答案

这就是 list comprehenstion 。类似于

import cv2

event = []
for i in dir(cv2):
    if 'EVENT' in i:
        event.append(i)
dir 用于从cv2获取所有有效属性,然后,如果当前属性(i)的名称上带有EVENT,则该属性将存储在event上。
下面的代码将打印['EVENT_1', 'EVENT_3']
class CV2:
  EVENT_1 = 1
  two = 2

  def EVENT_3():
    return 3

cv2 = CV2()
print([i for i in dir(cv2) if 'EVENT' in i])

关于python - 还有另一种编写此代码的方法吗?这似乎很难理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63426575/

相关文章:

mysql - R,for循环中的SQL查询

python - 无法通过 pip 在 Python 上安装 pygame (Windows 10)

python - 查找数组是否包含 2 旁边的 2

python - 在 Pandas 数据帧上应用 Savitzky-Golay 过滤器

python - cv2.videoCapture() 总是返回 false,也是 skvideo.io.VideoCapture()

c++ - opencv 中 mpeg 解码器的 4 个字符 ID 是什么

python - .NET 在 Python 中是否有等同于 **kwargs 的东西?

python - 在一个窗口中重复交替显示两个图像

R 仅在多列重叠的情况下合并数据帧

ios - 我正在尝试循环遍历字符串数组并触发 api 调用以重新加载 Collection View