Python 基礎起步 (五) 一定要知道的資料型別:初識List
什麼是List
Hello,小白同胞們,我回來啦,前面的學習中,我們已經知道了兩種python的資料型別:int和str,今天將要給大家接著介紹Python中一種非常常見,非常有用的資料型別,那就是List(列表),在Python中用中括號表示[]
那這個List到底是什麼東西呢,其實說白了就是一組有序的資料集合,怎麼理解呢,最直觀的理解就是像個盒子,我們可以把整數啊,字串啊,還有其他很多型別的資料統統放在裡面,但是要注意,它是有順序的。
舉個栗子
讓我們舉個栗子,上篇筆記我們學習了變數,先複習一下:
a = 1 b = 'xiaobai' c = 23.67 d = Ture
這裡我聲明瞭4個變數a,b,c,d 分別給它們賦值為整數,字串,浮點數,布林型,然後我可以把它們直接裝入一個List中:
lst = [a,b,c,d] print(lst)#輸出 [1,'xiaobai',23.67,True]
很簡單吧,這樣我們就新建了一個List,然後把新建的列表賦給變數lst,注意這裡是有順序的,因為我是依次將a,b,c,d放入其中
建立一個List
看過了上面的栗子,讓我們直接建立幾個列表吧:
first_list = []#新建一個空List, 因為裡面什麼都沒有 second_list = [1,2,3,4,'love']# 各種型別的資料都可以往裡扔 third_list = [ True,False,12.333,'My name is xiao bai']# 同上
讓我們檢視一下剛剛建立好的三個列表:
print(first_list ) [] print(second_list) [1, 2, 3, 4, 'love'] print(third_list) [True, False, 12.333, 'My name is xiao bai']
其實除了這些,列表的建立方式還有很多,可以利用list()通過轉化其他資料結構而來,也可以建立多個列表在一個列表中實現巢狀等等,之後我會在講完Python基礎起步之後專門開一個Python小白進價的專欄,會詳細講到List的使用技巧,但是目前,知道這些足夠啦
List基礎方法,新增值,修改,刪除值
讓我們從新增值到列表開始,首先讓我們新建一個空列表:
lst = []# 新建一個空列表 print("Intial empty List: ",lst) Out:[]
利用列表自帶的append方法可以直接依次為空列表新增值:
lst.append(1) lst.append('paris') lst.append(True) print(lst) Out:[1,'paris',True]
這樣我們就依次把1,'paris',True 三個值加進列表lst裡面了,那如果我們要是想檢視列表中的一個值應該怎麼辦呢,見下圖:
就像我剛才特意強調的,列表是有順序的,表示索引的東西叫做Index,它是從0開始的,所以如果拿我們的例子來說,1 對應的索引為0,'paris'對應的索引為1,True 對應的索引為2,要檢視列表中的一個值可以直接用這種新式:List[Index],比如:
lst[0]#1 lst[1]#'paris' lst[2]#True lst[:]#[1, 'paris', True] lst[0:2]# [1, 'paris'] lst[-1]# True
如果索引是單獨的一個數字,會直接輸入對應的值,但是索引還可以用切片的形式表示:
List[起始Index :結束Index]
這裡要注意一點,它不包括最後結束的Index,所以當我使用lst[0:2]檢視時,它只輸出對應索引為0和1的值。
好啦,那如果我現在想要改變List中一個值也很簡單,因為我們瞭解了索引,便能很方便的定位元素啦,如果我要修改1和Ture的值為 'My','Life' :
lst[0]='My' lst[2]='Life' print(lst) Out: ['My', 'paris', 'Life']
如果是刪除的話可以用List的自帶函式叫remove() 或者pop()
lst.remove("My") print(lst) Out:['paris', 'Life']
Remove 注意兩點:
- 如果正確刪除,不會有任何反饋。沒有訊息就是好訊息
- 如果所刪除的內容不在list中,就報錯。注意閱讀報錯資訊:x not in list
如果是pop呢?
lst.pop() Out: 'Life' print(lst) Out: ['paris']
pop(index)如果括號裡沒有任何東西,會預設刪除List裡面最後一個值,如果pop(2)的話會刪除List裡面索引為2的值,而且這個方法很有意思,它會自動返回被刪除的值,用人話說就是,你刪除List裡面一個值,還得到了它。。。
List總結
- 列表可以是無限大,包含任意型別的元素
- 列表中有很多強大的自帶方法,比如len(List)可以獲得一個列表的長度,還有sort(),filter(),reduce(),map()等等,大家可以自己谷歌一下查查
- 相對來說,列表在效能上普遍不佳,因為有序,所以帶索引,拖慢了一定速度,尤其是一個特別大的列表在執行查詢相關的操作的時候,我們之後會講
完結,撒花~