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中的for循环内创建对象列表而不继承属性值[重复]