上QQ阅读APP看书,第一时间看更新
2.11.3 删除元素
list元素的删除有两种不同的情况。
第一种是根据指定的位置删除list中的元素,这种情况我们用pop方法,弹出队列中指定位置的元素。如果不指定位置,最后一个元素会被弹出。
>>> cities = ['Beijing', 'Shanghai', 'Shenzhen', 'Wuhan'] >>> cities ['Beijing', 'Shanghai', 'Shenzhen', 'Wuhan'] >>> city = cities.pop(1) >>> city 'Shanghai' >>> cities ['Beijing', 'Shenzhen', 'Wuhan'] >>> city = cities.pop() >>> city 'Wuhan' >>> cities ['Beijing', 'Shenzhen']
第二种情况是根据指定的值去删除list中的元素,在这种情况下,我们用remove方法。
>>> nba_mvps = ['Harden', 'Westbrook', 'Curry', 'Curry', 'KD', 'James', 'James', 'Rose', 'James', 'James'] >>> nba_mvps.remove('James') >>> nba_mvps ['Harden', 'Westbrook', 'Curry', 'Curry', 'KD', 'James', 'Rose', 'James', 'James']
使用remove方法的时候,如果list中存在多个元素与指定的值相等,只有最靠前的那个元素会被移除掉,这与我们的预期可能有些差异。如果想把所有匹配的值都移除掉,我们可以用循环(后续章节会详细介绍)来完成。
>>> nba_mvps = ['Harden', 'Westbrook', 'Curry', 'Curry', 'KD', 'James', 'James', 'Rose', 'James', 'James'] >>> while 'James' in nba_mvps: ... nba_mvps.remove('James') >>> nba_mvps ['Harden', 'Westbrook', 'Curry', 'Curry', 'KD', 'Rose']