Python3过滤/删除列表的字符串

时间:2020-09-09 10:04:35

标签: python-3.x string list

我用搜寻器抓取了一些数据和东西,现在我必须对其进行分析。

我得到了包含一些图片的不同链接的列表,但我只想保存没有"/Thumbnails"的图片

pictures = ['Media/Shop/922180cruv.jpg', 'Media/Shop/922180cruvdet.jpg', 'Media/Shop/Thumbnails/922180cruvx320x240.jpg', 'Media/Shop/Thumbnails/922180cruvdetx320x240.jpg']

是否有办法说“如果字符串得到了/缩略图”,将其从列表中删除? 我在单独的列中有一个〜25000的csv。

已经尝试过remove()和索引,但是我的列表不同,因此第一个列表的索引就不适合第二个列表

3 个答案:

答案 0 :(得分:1)

使用过滤列表理解:

Assembly.GetManifestResourceNames()

打印:

pictures = ['Media/Shop/922180cruv.jpg', 'Media/Shop/922180cruvdet.jpg', 'Media/Shop/Thumbnails/922180cruvx320x240.jpg', 'Media/Shop/Thumbnails/922180cruvdetx320x240.jpg']

pictures = [p for p in pictures if not "/Thumbnails/" in p]

print(pictures)

答案 1 :(得分:0)

您可以按如下所示用户拆分和加入python功能。

pictures = ['Media/Shop/922180cruv.jpg', 'Media/Shop/922180cruvdet.jpg', 
            'Media/Shop/Thumbnails/922180cruvx320x240.jpg', 
            'Media/Shop/Thumbnails/922180cruvdetx320x240.jpg']
pictures2= []
for pic in pictures:
  if "Thumbnails" in pic:
    pic_list = pic.split("Thumbnails/")
    pic = "".join(pic_list) 
    print(pic)
    pictures2.append(pic)
  else:
    pictures2.append(pic)
print(pictures2)

输出

['Media/Shop/922180cruv.jpg', 'Media/Shop/922180cruvdet.jpg', 'Media/Shop/922180cruvx320x240.jpg', 'Media/Shop/922180cruvdetx320x240.jpg']

答案 2 :(得分:0)

您可以遍历列表并检查每个字符串是否包含子字符串/Thumbnail

result   = []
pictures = ['Media/Shop/922180cruv.jpg', 'Media/Shop/922180cruvdet.jpg', 
            'Media/Shop/Thumbnails/922180cruvx320x240.jpg', 
            'Media/Shop/Thumbnails/922180cruvdetx320x240.jpg']


for picture in pictures:
    if picture.find('/Thumbnails') == -1:
        result.append(picture)

输出:

['Media/Shop/922180cruv.jpg', 'Media/Shop/922180cruvdet.jpg']

演示:https://onlinegdb.com/rkAo1EL4w