list操作:快速創建list、新增item、刪除item、重新賦值item、顛倒item順序、檢索item
快捷創建list,兩種方式:split方法、list函數和range函數配合使用。
split方法。寫一個字符串,字符之間以空格分隔,然後對該字符串使用split方法。
a_list = 'a b c d e f g'.spit() //創建列表['a','b','c','d','e','f','g'],但這種寫法要簡潔很多
list函數和range函數配合使用。可以快速地創建一個非常大的列表。
a_list = list(range(100)) //很方便地創建一個0到99的列表
新增item,四種方式:concatenation、append、extend、insert,後三種方式都是列表的方法。
示例列表a_list = ['a']:
concatenation添加。它添加的是另外一個列表,兩個列表組合成一個新的列表:
a_list = a_list + [2.0,3] //列表較長時,可能會消耗大量內存
append方法添加。它在原列表末尾添加一個item,item類型可以是任意的:
a_list.append('hello') //在原有列表末尾添加一個類型為字符串的item
a_list.append(['hello']) //在原有列表末尾添加一個類型為列表的item
extend方法添加。它類似於concatenation,只接受列表參數,並把列表中的item分解,然後添加到原有的列表:
a_list.extend('hello') //在原有列表末尾添加5個字符item,因為它把hello視為列表
a_list.extend(['hello']) //在原有列表末尾添加1個item
insert方法添加。在原有列表中插入item:
a_list.insert(0,'c') //在原有列表的0位置添加一個字符
a_list.insert(0.['c']) //在原有列表的0位置添加一個列表
刪除item,三種方式:del、remove、pop,後兩種方式都是列表的方法。
示例列表:a_list = ['a','b','c','hello']:
del刪除。它按item的索引值或切片進行刪除:
del a_list[0] //刪除列表的第一個值
del a_list[:2] //刪除列表的前兩個值。(為什麼不是前三個呢?因為python的列表切片,包含前一個索引,但不包括後一個索引)
remove方法刪除。它不按item索引,而是按照item的值進行刪除:
a_list.remove('a') //把a從列表中刪除
pop方法刪除。它按item索引值進行刪除,同時返回被刪除的item值;若不指定索引,默認刪除最後一個item:
a_list.pop(1) //刪除列表的第二個值,並返回被刪除的值
a_list.pop() //刪除列表的最後一個值,並返回被刪除的值
重新賦值item,對指定索引使用assignment符號進行賦值:
示例列表:a_list = ['a','b','c','hello']:
a_list[1] = 'bbb' //列表的第二個值b,將被替換為bbb
顛倒列表的item順序,reverse方法:
示例列表:a_list = ['a','b','c','hello']:
a_list.reverse() //列表的item順序將被從後到前重新排列,更改為['hello','c','b','a']
檢索列表的值,四種方式:in、not in、count、index,後兩種方式是列表的方法。
示例列表:a_list = ['a','b','c','hello']:
判斷值是否在列表中,in操作符:
'a' in a_list //判斷值a是否在列表中,並返回True或False
判斷值是否不在列表,not in操作符:
'a' not in a_list //判斷a是否不在列表中,並返回True或False
統計指定值在列表中出現的次數,count方法:
a_list.count('a') //返回a在列表中的出現的次數
查看指定值在列表中的位置,index方法:
a_list.index('a') //返回a在列表中每一次出現的位置,默認搜索整個列表
a_list.index('a',0,3) //返回a在指定切片內第一次出現的位置