python如何在完成每个循环后从列表中清除项目?

Posted

技术标签:

【中文标题】python如何在完成每个循环后从列表中清除项目?【英文标题】:python how to clear items from list after complete each loop? 【发布时间】:2021-10-23 04:43:24 【问题描述】:

我正在使用列表来存储每个产品的所有图像 url,但我的列表在每个新产品中添加了以前的图像 url。我想在写完我的 csv 并完成每个循环后清除列表。这是我的代码:

image_list = []

for page_num in range(1,6):
    ....my others code

   

            try:
                
                images = driver.find_elements_by_xpath("//img[@class='Image--fadeIn lazyautosizes Image--lazyLoaded']")
                for i in images:
                    image = i.get_attribute('data-original-src')
                    image_list.append("https:"+image)
                    print('######image: ',image)
            except:
                images = driver.find_element_by_css_selector("#shopify-section-product-template .Image--lazyLoaded")
                image = i.get_attribute('data-original-src')
                image_list.append("https:"+image)
                print(image)

            with open("product.csv", "a",encoding="utf-8") as f:
                            writeFile = csv.writer(f)
                            writeFile.writerow([image_list])

【问题讨论】:

【参考方案1】:

将其分配给空列表

image_list = []

或使用谷歌 5 秒

image_list.clear()

【讨论】:

【参考方案2】:

您可以使用

清除image_list列表
image_list = []

image_list = list()

将列表内容写入 CSV 文件后。 所以你的整个代码可以如下:

image_list = []

for page_num in range(1,6):
    ....my others code

   

            try:
                
                images = driver.find_elements_by_xpath("//img[@class='Image--fadeIn lazyautosizes Image--lazyLoaded']")
                for i in images:
                    image = i.get_attribute('data-original-src')
                    image_list.append("https:"+image)
                    print('######image: ',image)
            except:
                images = driver.find_element_by_css_selector("#shopify-section-product-template .Image--lazyLoaded")
                image = i.get_attribute('data-original-src')
                image_list.append("https:"+image)
                print(image)

            with open("product.csv", "a",encoding="utf-8") as f:
                            writeFile = csv.writer(f)
                            writeFile.writerow([image_list])
            image_list = []

【讨论】:

以上是关于python如何在完成每个循环后从列表中清除项目?的主要内容,如果未能解决你的问题,请参考以下文章

清除数据后从共享偏好中获取价值

如何将列表中的每个项目与Python中另一个列表的所有值一起使用[重复]

Python:如何杀死无限循环?

如何在Python中的for循环内创建对象列表而不继承属性值[重复]

如何循环列表,直到列表中的所有项目都与用户输入匹配,然后在 python 中使用 Bingo 消息停止循环

使用 readlines 导入后从 Python 列表中删除 \r\n