學(xué)過C/C++等語言后,Python中的列表理解起來其實并不困難,Python中的列表類似于C/C++中的數(shù)組,但操作起來比數(shù)組靈活得多。列表是由一系列按特定順序排列而成的元素組成,在同一列表的元素可以是同一類型的,也可以是不同類型的。
一、創(chuàng)建列表。
可以用以下方法創(chuàng)建一個空列表:
first_list=[]當(dāng)然也可以創(chuàng)建的時候直接賦值:>>> first_list=[1,2,3,4,5,6]>>> first_list[1, 2, 3, 4, 5, 6]也可以將一個列表當(dāng)做另一個列表的元素,實現(xiàn)嵌套>>> list1=[1,2]>>> list2=[3,4]>>> lists=[list1,list2]>>> lists[[1, 2], [3, 4]]>>> lists[0][0]1>>> lists[1][1]4還可以使用方法range()來創(chuàng)建數(shù)字列表在命令行直接寫會出現(xiàn)錯誤,所以在文件中寫,然后運行即可test_list=list(range(2,10))PRint(test_list)運行結(jié)果:[2, 3, 4, 5, 6, 7, 8, 9]二、訪問列表1、使用索引訪問列表時,索引可以是正值,0,負(fù)值。>>> first_list[1]2>>> first_list[-1]62、使用切片來訪問列表,格式為list[index1,index2],這種方法返回list中下標(biāo)在[index1,index2)之間的元素>>> test_list=[2,5,8,3,6,9]>>> slice_list=test_list[1:5]>>> slice_list[5, 8, 3, 6]>>> slice_list=test_list[2:]>>> slice_list[8, 3, 6, 9]>>> slice_list=test_list[:3]>>> slice_list[2, 5, 8]3、使用for..in..遍歷列表中的元素>>> test_list=[2,5,8,3,6,9]>>> for val in test_list: print(val) 258369三、添加元素。列表有3種方式添加元素::1、使用方法append(obj)向列表末尾添加一個元素obj,此元素可以是列表,2、方法是使用方法insert(index,obj)在位置index添加元素obj。使用insert(index,obj)方法時要注意Python的列表下標(biāo)是從0開始的。3、使用extend(list)在列表末尾添加另一個列表的所有元素,實現(xiàn)一次添加多個元素。>>> first_list[1, 2, 3, 4, 5, 6]>>> first_list.append(7)>>> first_list[1, 2, 3, 4, 5, 6, 7]>>> first_list.insert(2,0)>>> first_list[1, 2, 0, 3, 4, 5, 6, 7]>>> list1=[1,2]>>> list2=[3,4]>>> list1.extend(list2)>>> list1[1, 2, 3, 4]>>> list1=[1,2]>>> list2=[3,4]>>> list1.append(list2) #注意和extend(list)的差別>>> list1[1, 2, [3, 4]]四、刪除元素。刪除元素有3中方式:1、使用del語句刪除元素;2、使用方法pop()方法刪除列表末位元素或使用pop(index)刪除列表index位置的函數(shù),而且pop()方法會返回要刪除元素的值;3、使用remove(obj)直接根據(jù)值而不是索引來刪除元素.>>> del first_list[0] #使用del刪除元素>>> first_list[2, 0, 3, 4, 5, 6, 7]>>> first_list.pop() #使用pop()刪除末位元素7>>> first_list[2, 0, 3, 4, 5, 6]>>> first_list.pop(3) #使用pop(pos)刪除first_list[pos]4>>> first_list[2, 0, 3, 5, 6]>>> first_list.remove(5) #使用remove(value)刪除value>>> first_list[2, 0, 3, 6]若列表中有多個相同的值,方法remove(obj)只刪除列表中第一個值obj>>> test_list=[1,2,1]>>> test_list.remove(1)>>> test_list[2, 1]五、排序1、使用方法sort()對列表進(jìn)行永久排序,如果是字符串則按照字母表順序排序,默認(rèn)升序。
>>> first_list[2, 0, 3, 6]>>> first_list.sort()>>> first_list[0, 2, 3, 6]還可以向sort()傳遞參數(shù)reverse=True來降序排序。>>> test_list=[2,0,3,6]>>> test_list.sort(reverse=True)>>> test_list[6, 3, 2, 0]2、使用sorted()來臨時排序,看以下代碼:>>> first_list=[2,0,3,6]>>> print(sorted(first_list))[0, 2, 3, 6]>>> first_list[2, 0, 3, 6]也可以向sorted()傳遞參數(shù)reverse=True來降序排序:
>>> first_list=[2,0,3,6]>>> print(sorted(first_list,reverse=True))[6, 3, 2, 0]>>> first_list[2, 0, 3, 6]六、其他方法1、方法Index(obj)返回obj在list中的下標(biāo),如果有多個相同的值,則返回下標(biāo)最小的,如果obj不在list中,則產(chǎn)生錯誤。>>> test_list=[2,0,3,6]>>> test_list.index(2)0 #test_list[0]=2>>> test_list.index(1)Traceback (most recent call last): File "<pyshell#68>", line 1, in <module> test_list.index(1)ValueError: 1 is not in list>>> test_list=[1,2,1]>>> test_list.index(1)02、方法count(obj)用來計算obj在list中出現(xiàn)的次數(shù)>>> test_list=[1,2,1]>>> test_list.count(1)2>>> test_list.count(2)1>>> test_list.count(3)03、使用len(list)確定列表list的長度>>> test_list=[1,2,3,4,5,6,7,8,9,0]>>> len(test_list)104、使用clear()清空列表>>> test_list=[1,2,3,4,5,6,7,8,9,0]>>> test_list[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]>>> test_list.clear()>>> test_list[]
新聞熱點
疑難解答