Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用if语句和';elif';?_Python_Python 2.7 - Fatal编程技术网

Python 如何使用if语句和';elif';?

Python 如何使用if语句和';elif';?,python,python-2.7,Python,Python 2.7,首先,我有一个包含各种链接的列表。例如: imagelinks = [ 'http://24.media.tumblr.com/e13983b2fcfa441eb18861cf3e9bc0e9/tumblr_mzzdmmkoS81r2gyhfo1_500.jpg', 'A%2F%2F31.media.tumblr.com%2Favatar_c3eb4dbb6150_64.png' 'http://31.media.tumblr.com/avatar_c3eb4dbb6150_16.png' 'h

首先,我有一个包含各种链接的列表。例如:

imagelinks = [
'http://24.media.tumblr.com/e13983b2fcfa441eb18861cf3e9bc0e9/tumblr_mzzdmmkoS81r2gyhfo1_500.jpg',
'A%2F%2F31.media.tumblr.com%2Favatar_c3eb4dbb6150_64.png'
'http://31.media.tumblr.com/avatar_c3eb4dbb6150_16.png'
'http://24.media.tumblr.com/tumblr_lyrqzcl2Mf1rnn3koo1_1280.jpg'
等等。我想做的是只留下链接,以1280结尾。所以我写了这段代码来帮助清理列表:

def cleanImageLinks():
global imagelinks
removed = 0
for link in imagelinks:
    if link[27:33] == 'avatar':
        imagelinks.remove(link)
        removed += 1
    elif link[len(link)-6:len(link)-4] == '16':
        imagelinks.remove(link)
        removed += 1
    elif link[len(link)-6:len(link)-4] == '40':
        imagelinks.remove(link)
        removed += 1
    elif link[len(link)-6:len(link)-4] == '00':
        imagelinks.remove(link)
        removed += 1
    elif link[len(link)-6:len(link)-4] == '28':
        imagelinks.remove(link)
    elif link[0] == "A":
        imagelinks.remove(link)
        removed += 1
    else:
        pass
print str(removed) + " entries removed!"

所以最后我得到了“436条删除的条目”,但当我打印列表时,我仍然可以找到链接,我不想到处都找到。由于名单上有2000多个条目,436条并不多。我能做什么?

不要修改原始文件,使用列表理解创建一个新文件:

In [1036]: imagelinks = [
      ...: 'http://24.media.tumblr.com/e13983b2fcfa441eb18861cf3e9bc0e9/tumblr_mzzdmmkoS81r2gyhfo1_500.jpg',
      ...: 'A%2F%2F31.media.tumblr.com%2Favatar_c3eb4dbb6150_64.png',
      ...: 'http://31.media.tumblr.com/avatar_c3eb4dbb6150_16.png',
      ...: 'http://24.media.tumblr.com/tumblr_lyrqzcl2Mf1rnn3koo1_1280.jpg']

In [1043]: newlinks=[i for i in imagelinks if i.split('.')[-2].endswith('1280')]
      ...: print newlinks
      ...: print '%d links are removed.'%(len(imagelinks)-len(newlinks))
#outputs:
['http://24.media.tumblr.com/tumblr_lyrqzcl2Mf1rnn3koo1_1280.jpg']
3 links are removed.