Python筆記python
第一章 列表和元祖app
1.通用序列操做ide
全部序列均可以進行某些特定操做,包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及檢查某元素是否屬於列表成員。函數
迭代:依次對序列中的每一個元素重複執行某些操做。spa
序列的索引:經過元素在列表中的位置能夠定位到該元素,這就是列表的索引,使用相似於list[0]對元素進行索引,索引0指向第一個元素。也可以使用負數對元素進行索引,使用負數對元素索引時,列表中的最後一個元素由-1表示,例如list[-1]就是該列表的最後一個元素。對象
序列的分片:序列的分片操做須要提供兩個索引做爲邊界,第一個索引的元素包含在分片內部,第二個索引的元素不包含在分片內部。例如須要取出列表中第三位到第五位的元素可使用list[2:5],若分片所得部分包含列表的尾部能夠將第二個索引置爲空。例如list[3:],一樣,對於列表首部的元素也能夠這樣,例如list[:-5]。排序
對於分片,還有一個步長的參數,該參數能夠是隱式設置,隱式設置中,步長是1。分片操做按照該步長遍歷序列中元素。例如list[0:5:2]就是以步長爲二遍歷出列表中從開頭到第五位元素。固然,步長也能夠爲負數,爲負數時表示從右到左進行遍歷。索引
列表的加:列表能夠進行相加,變成一個更大的列表list=list1+list2,可是限制是相同類型的列表才能夠進行相加。雖然字符串也是列表,可是列表和字符串是沒法直接相加的。ip
列表的乘:用一個數字乘以一個列表將會生成一個新的列表,該新列表內容江油老序列重複N次。列表內容爲空可使用None表示,list=[None]*10表示生成一個佔用十個空位置的列表。ci
列表的成員資格:可以使用in運算符檢查某元素是不是該列表的成員。其返回值是一個布爾類型的值,若是是該列表成員,則返回True,不然返回Flse。例如'a' in list操做。
列表的幾個內置函數:len、max和min是列表中的內置函數。len函數返回列表包含元素的數量。max和min函數分別返回列表中最大和最小的元素,列入len(list)、max(list)、min(list)
2.列表的操做
列表又被稱爲python中的」苦力「,列表是可變的,有不少內置方法能夠對列表進行操做。
字符串的列表化:可以使用list對字符串進行列表化,例如list(’hello‘)將該字符串以字符爲單位進行列表化。
列表基本操做:
給列表元素賦值:list[3] = 5,將5賦值給列表中的第四個元素
刪除列表中元素:del list[3],將列表中第四個元素刪除
分片賦值:可以使用與原序列不等長序列將分片替換list1[2:3]=list2,分片賦值還能夠在不須要替換任何原有元素的狀況下插入新的元素list[3:3]
列表的方法:
1. append:在列表末尾追加新的對象,例如list.append(4)將4追加到list的末尾。
2. count:統計某個元素在列表中出現的次數(只能統計當前層中List中的元素)例如list.count('a')
3. extend:能夠在列表的末尾追加另外一個列表,和列表鏈接操做類似,可是列表鏈接操做返回一個新的列表,extend返回的是原來列表擴展後的列表,效率比列表鏈接操做高。例如list1.extend(list2)
4. index:從列表中找到某個值第一個匹配項的索引位置例如list.index('a')
5. insert:將對象插入到列表的指定位置,例如list.insert(3,'a')插入的位置在insert的參數中定義的位置,原先在該位置的值將依次日後移一位
6. pop:移除列表中的一個元素(默認最後一個),並返回該元素的值。list.pop(3)就是將第四個位置的值刪除並返回該值。python中沒有入棧的方法,可是能夠結合使用append和pop方法實現棧的功能(先進先出,後進先出)
7. remove:移除列表中某個元素的第一個匹配項,list.remove('a')會移除掉第一個匹配的a,可是無論有沒有匹配到該元素都不會有返回值。
8. reverse:將列表中的元素反向存放,list.reverse(),一樣沒有返回值。
9. sort:在原位置的列表基礎上對列表進行排序,而不是返回一個排序好的副本。list.sort()該方法也沒有返回值。
10. sorted:該方法對源列表進行排序,並返回一個新的排序好的列表副本,該操做將不會修改源列表的順序,list2=list1.sorted()
11. 高級排序:若是想要本身定義排序規則能夠定義一個函數,compare(x,y)當x<y時返回負數,x>y時返回正數,x=y則返回0定義好函數後可將該函數做爲sort的參數傳遞進sort裏面進行排序,另,sort還有兩個可選參數key和reverse,若須要使用則需經過關鍵字參數指定,key的值爲在排序過程當中使用的函數,例如list.sort(key=len)則排序方式爲按照元素的長度進行排序。reverse的值爲一個bool類型的值,若是爲True則進行反向排序,默認是False例如list.sort(reverse=True)就是進行反向排序。
3.元祖的操做
元祖也是一種序列,不一樣的是元祖不能被修改,元祖的建立形式爲(1,2,3)特殊的包含一個元素的元祖(1,)在該元素後面加上一個逗號。另外,元祖沒有列表的方法。
tuple函數:該函數可將一個序列轉換爲元祖,例如tuple([1,2,3])
元祖的做用:能夠在映射中當作鍵使用,而列表不行,元祖做爲不少內建函數和方法的返回值存在。