閱讀本文大概需要8分鐘:
Python內置了很多有用的數據結構,今天我們先來介紹2大法寶,列表和元組.(馬上要到中秋節了,這個元組讓我想起了元祖雪月餅)
好吧有點跑題了,我總結了一下列表的十幾招的基本用法,基本上你想要的這裡都有了.
1.List列表
這個是python裡面用的最多最常用的數據類型,可以通過下標來訪問,可以理解為java或者c裡面的數組.但是功能比數組強大n倍,list可以放任意數量的python對象,可以是字符串,字符,整數,浮點等等都可以,而且創建,添加,刪除也很方便.
1)創建list //list內部的對象可以是字符串,字符,數字,支持混搭
aList = ['apple', 100, 0.01, 'banana','A','B','C']
2)訪問list //直接通過下標去訪問
>>>print(aList[0])
'apple'
3)列表的切片 //通過切片來取列表中的一部分
>>>print(aList[4:6])
['A', 'B']
4)列表的嵌套 //列表支持嵌套,就是列表裡面可以套列表,甚至套字典,元組等
bList=[100,200,['aaa','bbb','ccc']]
>>>print(bList[2][0])
aaa
5)列表的插入//內置函數append,insert
6)列表的刪除//內置remove,pop函數
7)列表支持*,+
list1=[1,2,3]
list2=[100,200,300]
list3=list1+list2
print(list3)
>>>[1, 2, 3, 100, 200, 300]
list4=['a','b','c']
list5=list4*3
print(list5)
>>>['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
8)列表的排序//內置了sort函數非常方便,通過傳入reverse為True或者False來升序或者降序排列
9)計算列表的長度 //利用內置函數len()
aList=[1,2,3,4,5]
print(len(aList))
>>>5
10)計算列表裡面的最大值,最小值
aList=[1,2,3,4,5]
print(min(aList))
>>>1
print(max(aList))
>>>5
當然你若要想知道,最大的前2個數,或者最小的2個數,需要用heapq模塊,以後在python黑魔法裡面會詳細講.
11)列表的擴展 //用內置extend函數,看起來和+差不多,其實區別在於+是返回一個新的列表,而extend是直接修改了列表
aList=[1,2,3]
b=[4,5,6]
aList.extend(b)
print(aList)
>>>[1, 2, 3, 4, 5, 6]
12)查找列表中某一個元素的索引//內置函數index
aList=['This','is','a','very','good','idea']
print(alist.index('very'))
>>>3
13)統計某個元組在列表裡面的次數,內置函數count
aList=['to','do','or','not','to','do']
print(aList.count('to'))
>>>2
以上就是常見的list的用法,注意list是支持重複元素的,就是list裡面可以有2個同樣的元素
比如:
cList=[100,200,'apple','peach','apple']
print(cList)
>>>[100, 200, 'apple', 'peach', 'apple']
後面的教程會講如何一行代碼去掉重複的元素
2.元組
元組和列表一樣,也是一種序列,唯一的不同在於不能修改
1)元祖的創建
aTuple=(1,2,3)
print(aTuple)
>>>(1, 2, 3)
有一點要注意,當元組裡面只有一個元素的時候,一定要加, 比如(100,)
2)元組的用法和列表一模一樣
很多初學者會問,既然用法和列表一樣,為啥還要發明元組,原因在於
好看完上面的內容,是不是覺得python好神奇,比起c++,java方便太多了,列表這一個數據結構就內置了這麼多的函數,太爽了.
最後說一下,我堅持原創,若我寫的對大家有幫助,麻煩大家轉發或者關注一下 [菜鳥學python],也是對我的一點鼓勵和動力。