python基礎篇--列表
python資料結構-列表
列表是序列中的一種,序列包括字串,列表,元組。其中序列是python中最基本的資料結構,序列中的每個元素都有編號(索引)。
通用的序列操作:索引,切片,相加,相乘,和成員資格檢查,另外python還提供了一些內建函式,可用於確定序列的長度以及找出序列中的最大值和最小值
索引:序列中的所有元素都有編號-從0開始遞增,當你使用負數索引時,python將從右開始往左數,因此-1是最後一個元素的位置
>>>greeting = ''hello"
>>> greeting[0]
'h'
>>>greeting[-1]
'o'
切片:通過切片來訪問特定範圍內的元素,為此可使用兩個索引,並用冒號分隔,其中[a:b:c],a表示第一個索引的位置,b表示第二個索引的位置,c表示步長,當從左往右切片是,步長必須為正整數,否則切出來的就是個[],同理當從右往左切片,步長必須為負整數,當不知道起始索引時,起始索引為0,當不知道結束索引時,結束索引為最後一個元素位置,步長預設為1
>>>numbers = [1,2,3,4,5,6,7,8,9,10]
>>>numbers[3:6] [4,5,6]
>>>numbers[-3:-1] [8,9]
>>>numbers[-3:0] []
>>>numbers[-3:] [8,9,10]
>>>numbers[:3] [1,2,3]
>>>numbers[:10:2] [1,3,5,7,9]
>>>numbers[8:3:-1] [9,8,7,6,5]
相加:可使用加法運算子來拼接序列,但是一般而言,不能拼接不同型別的序列,[1,2]+"hello" 拼接將會報錯
相乘:將序列與數x相乘時,將重複這個序列x次來建立一個新序列
>>>'python'*2
pythonpython
成員資格檢查:要檢查特定的值是否包含在序列中,可使用運算子in,如存在則返回True,否則返回False.存在in同樣存在not in,其邏輯和in邏輯相反,當序列為字串時,則檢查的是是否為子字串。
>>>num = [1,2,3]
>>>1 in num
True
python的主力列表:列表也是序列,它不同元組和字串,列表是可變的,即可修改其內容,另外還有很多獨特的方法
列表的建立:1:可直接指定 b = [1,2] 2:使用內建函式list(arg)來建立列表,當arg為空時,表示建立一個空列表,arg可以是任何的序列 list('python') -> ['p','y','t','h','o','n']
列表操作:
1,修改列表:給元素賦值 ,通過使用索引來給列表中的指定值賦值
>>>n = [1,2,3]
>>>n[1] = 1
>>>n
[1,1,3]
2,刪除元素 通過del來刪除列表中的指定值 del n[2],del不僅可以用來刪除列表元素,還可以刪除變數,字典。
>>>del n[2]
>>>n
[1,2]
3,給切片賦值:通過使用切片賦值,可將切片替換為長度與其不同的序列,也可以通過切片來進行插入和刪除
>>>num = [2,3,4,5]
>>>num[0:1] = [1,2]
>>>num
[1,2,3,4,5]
列表方法:方法是與物件緊密聯絡的函式。方法的呼叫和函式呼叫很像,只是方法是通過物件來呼叫的類似於object.method(arguments)
1,append : 方法append是將一個物件附加到列表末尾。append是在原列表的基礎上修改。
2,clear:方法clear就地清空列表的內容
3,copy:複製列表,建立一個新的副本,本同於使用切片num[:]或list(num),
4,count:方法count計算指定的元素在列表中出現了多少次
5,extend:方法extend讓你能同時將多個值附加到列表末尾
6,index:方法index在列表中查詢指定值第一次出現的索引
7,insert:方法insert用於將一根物件插入列表,接收兩個引數,第一個為索引位置,第二個為插入的物件
8,pop:方法pop從列表中刪除一根元素,並返回這一元素,當沒引數的時候返回最後一個值,當指定索引時,返回指 定的值
9,remove:用於刪除第一個為指定值的元素
10,reverse:按相反的順序排列列表中的元素,reversed函式可以對指定的序列逆序排列,並返回一根迭代器
11,sort:對列表就地排序,sorted則是獲取排序後的副本,這是一個排序後的新列表
12,sort的高階排序:可以對列表進行指定排序sort(key,reverse)key為指定的排序函式,reverse確定是否要按相反的 順序對列表進行排序,x = ["aaaaa","aa","aaa","a","aaaa"] x.sort(key=len,reverse=True)