目錄
- 1. 序列類型定義
- 2. 列表的基礎知識
- 2.1 列表定義
- 2.2 列表基本操作
- 總結
1. 序列類型定義
序列是具有先後關系的一組元素
- 序列是一維元素向量,元素類型可以不同
- 類似數學運算序列:S0,S1,…,S(n-1)
- 元素間由序號引導,通過下表訪問序列的特定元素
序列是一個基類類型
序列處理函數及方法
序列類型通用函數和方法
2. 列表的基礎知識
2.1 列表定義
列表(list):是可變的序列型數據,也是一種可以存儲各種數據類型的集合,用中括號([ ])表示列表的開始和結束,列表中的各元素之間使用半角逗號(,)分隔,且列表中每個元素都有一個對應的下標。
1)列表是序列類型的一種擴展,十分常用
- 列表是一種序列類型,創建後可以隨意被修改
- 使用[ ]或list()創建,元素間用英文逗號分隔
- 列表中各元素類型可以不同,無限長度
a = [] #空列表 a = [1,2,3,None,'bdshsvh',[1,2,3,5]]
列表中的數據可以是python支援的任意數據。
2)列表的下標
列表的下表也是從0開始表示,反向則從-1開始。
2.2 列表基本操作
列表支援對集合元素進行增加、查找、修改、刪除、合並操作等。
1)列表元素的增加
append()方法:存在元素的列表尾部新增元素。
>>> fruits = ['apple',5,'peach',2,'watermelon',12] #原有列表 >>> fruits.append('pear') #用append()方法增加新元素 >>> fruits.append(15) >>> print(fruits) ['apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]
insert()方法:可以在列表的任意指定位置增加元素。insert()方法的第一個參數為需要插入元素的列表的下表,第二個參數為指定的新增元素值。
>>> fruits.insert(0,'starfruit') >>> fruits.insert(1,14.2) >>> print(fruits) ['starfruit', 14.2, 'apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]
2)列表元素查找
index()方法:語法格式L.index(value,[start[,stop]]),其中L為列表對象,value代表需要在列表中查找的元素,start代表在列表中查找元素時開始查找的下標數,stop代表查找結束時的下標數,start和stop參數可選。若查找到元素,則返回第一個找到的元素,若沒有找到,則返回“ValueError…”錯誤信息。
>>> fruits.index("pear") 8 >>> fruits.index(1) Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> fruits.index(1) ValueError: 1 is not in list >>> fruits.index(2,5,12) 5
in成員運算符判斷
>>> 'a' in fruits False
用in判斷的好處是不會產生報錯信息。
用下標讀取對應的元素
>>> fruits[5] 2 >>> fruits[8] 'pear'
切片讀取
>>> fruits[5:] [2, 'watermelon', 12, 'pear', 15]
3)列表元素修改
列表通過指定下標,對對應的元素進行賦值修改。
>>> ls = ['Tom',1,5,8] >>> ls[2] = 8 >>> ls ['Tom', 1, 8, 8] >>> ls[3] = '元' >>> ls ['Tom', 1, 8, '元']
4)列表元素修改
clear()方法:清楚列表中的所有元素。
>>> fruits.clear() >>> fruits [] >>> len(fruits) 0
pop()方法:語法格式L.pop([index]),L代表列表,index為可選參數,當指定index參數時,刪除對應下標位置處的元素(如果指定的參數值不在列表下標數中,會報錯)。pop()默認刪除列表尾部的第一個元素。
>>> listpop = ['球1','球2','球3'] >>> get_one = listpop.pop() >>> print(get_one,'',listpop) 球3 ['球1', '球2'] >>> listpop.pop(2) Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> listpop.pop(2) IndexError: pop index out of range
remove()方法:L.remove(value),L代表列表,value代表要刪除的元素,如果要刪除的元素有多個時,隻會刪除左邊的第一個。
>>> listpop = ['球1','球2','球3','球2'] >>> listpop.remove('球2') >>> listpop ['球1', '球3', '球2'] >>>
del函數:可以刪除指定的元素,也可以刪除整個列表。
>>> del(listpop[2]) >>> listpop ['球1', '球3'] >>> del(listpop) >>> listpop Traceback (most recent call last): File "<pyshell#36>", line 1, in <module> listpop NameError: name 'listpop' is not defined >>>
5)列表元素合並
對於兩個列表對象的合並,可以通過extend()方法
>>> team1 = ["張三","李四","王五"] >>> team2 = ["Tom","John"] >>> team1.extend(team2) >>> team1 ['張三', '李四', '王五', 'Tom', 'John'] >>>
采用“+”也可以實現兩個列表對象的合並,但是會改變team1的內存地址,表示team1合並後被重新定義瞭,不再是最初的team1.
>>> team1 = ["張三","李四","王五"] >>> team2 = ["Tom","John"] >>> id(team1) 2172213272840 >>> team1.extend(team2) >>> id(team1) 2172213272840 >>> team1 = team1 + team2 >>> team1 ['張三', '李四', '王五', 'Tom', 'John'] >>> id(team1) 2172213337736
6)列表元素排序
sort()方法:L.sort(key=None,reverse=False),L表示列表,key為可選參數,用於指定在作比較之前調用何種函數對元素進行處理,如key = str.lower(將大寫字母轉換為小寫字母函數),reverse為可選參數,默認情況下為增序(一般根據ASCII碼從小到大對字符、數字進行排序)排序。
>>> fruits = ['banana','pear','apple','peach'] >>> fruit_1 = fruits.copy() >>> fruit_1.sort() >>> fruit_1 ['apple', 'banana', 'peach', 'pear'] >>> fruit_h = fruits.copy() >>> fruit_h.sort(reverse=True) >>> fruit_h ['pear', 'peach', 'banana', 'apple'] >>>
fruits = ['banana','pear','蘋果','peach'] >>> fruit_s = fruits.copy() >>> fruit_s ['蘋果', 'banana', 'peach', 'pear']
7)列表其他操作方法
copy()方法:對列表進行拷貝。
>>> fruit_s = fruits.copy() >>> fruit_s ['banana', 'pear', '蘋果', 'peach'] >>> id(fruits) 2172213342792 >>> id(fruit_s) 2172213273608
count()方法:對列表指定元素個數進行統計。
>>> vegetable = ['白菜','青菜','蘿卜','芹菜','菠菜','白菜','花菜'] >>> vegetable.count('白菜') 2
reverse()方法:對列表對象永久性反向記錄。
>>> vegetable = ['白菜','青菜','蘿卜','芹菜','菠菜','白菜','花菜'] >>> vegetable.reverse() >>> vegetable ['花菜', '白菜', '菠菜', '芹菜', '蘿卜', '青菜', '白菜'] >>>
列表解析
語法:
[expression for iter_val in iterable] [expression for iter_val in iterable if cond_expr]
說明:expression為基於元素的運算表達式,如i**2,對每一個元素求平方,iter_val為從列表iterable迭代獲取的元素i,if子句判斷元素,cond_expr為判斷元素表達式。
>>> nums = [i**2 for i in range(11) if i>0] >>> nums [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>>
相當於:
>>> nums =[] >>> for i in range(1,11): nums.append(i**2) >>> nums [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>>
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註的更多內容!
You may also like
相关贴文:
近期文章
- 如何將 Shopify 與速賣通連接 (2024) 教學課程
- 如何設定 Shopify Payments:簡單的電子商務支付網關整合 #shopify
- 在 Shopify 商店中銷售 NFT | 適用於 Shopify 的 Venly NFT Minter 應用程式 | 如何在 Shopify 上銷售 NFT
- 這些 Shopify 直銷神話會扼殺您的夢想#shorts
- 我的學生光是透過 Shopify 的 2 個獲獎產品就賺了 400 萬 Pkr
- 誠實的 Shopify 評論 – 2024 年 Shopify 仍然值得嗎?
- 從 Shopify 賺錢的 6 種方式 | 讓我們揭開謎底
- 如何使用 Shopify 入門計畫建立服飾店
- 這個由人工智慧驅動的標誌產生器已被超過 2000 萬家新創公司使用
發佈留言