微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将此for循环转换为Python列表理解?

如何解决如何将此for循环转换为Python列表理解?

我的问题有两个部分,但首先是一些背景。

我试图遍历图像列表,并实质上使用cv2.resize标准化每个图像的大小。我通过以下for循环成功完成了此操作,但是图像数量已经增加,并将继续这样做,导致内核崩溃。我尝试在Spyder(Python 3.7)和Jupyter Notebook中都运行此代码,但无济于事。

for i in range(len(image_list)):
    image_list[i] = cv2.resize(image_list[i],(200,200))

列表理解对我来说不是很直观;但是,我尝试转换上面的代码,但未成功。这是我的尝试:

image_list2 = [cv2.resize(image_list,200)) for i in range(len(image_list))]
  1. 我应该对第二个代码块进行哪些更改?
  2. 是否正在将第一段代码(for循环)转换为列出理解内容,从而有助于避免内核崩溃?我相信我将'image_list'中存储了如此多的图像,从而使cpu上的RAM超载-目前约为50,000,但这个数字可能会增加三倍。

预先感谢您的帮助,非常感谢。

解决方法

您的第一个代码似乎也是错误的。 您不应该调整SELECT class,message FROM my_data WHERE message LIKE '%request was made%' LIMIT 1 UNION ALL SELECT class,message FROM my_data WHERE message LIKE '%received an answer%' LIMIT 1 的大小,而应该调整image_list的大小。

对于第二段代码,

image_list[i]

我不确定列表理解是否可以解决您的问题。如何在每次迭代时将新的调整大小后的图像保存到文件中并在以后加载?

,

当您只想一次从列表 发送一次图像时,您会将整个image_list发送到cv2.resize。

<template>
  <input
    type="text"
    @input="onChanged"
    :value="modelValue"
    :class="'input-text ' + additionalClass"
    :placeholder="placeholder" />
</template>

<script>
  // InputText.vue
  import { defineComponent } from "vue"

  export default defineComponent({
    name: 'InputText',emits: ['update:modelValue'],props: {
      modelValue: String,placeholder: {
        type: String,default: ''
      },additionalClass: {
        type: String,default: ''
      }
    },setup(props,{ emit }) {
      function onChanged(e) {
        emit('update:modelValue',e.currentTarget.value);
      }

      return {
        onChanged
      }
    }
  })
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。