python 資料結構

2021-10-10 23:45:00 字數 1710 閱讀 8197

**

python 有四種資料結構,分別是:列表、字典、元組、集合。我們先從整體上認識一下這四種資料結構:

list = [val1,val2,val3,val4] #列表

dict = #字典

tuple = (val1,val2,val3,val4) #元組

set = #集合

1 列表(list)

列表中的每個元素都是可變的;

列表中的元素是有序的,也就是說每個元素都有乙個位置;

列表中可以容納 python 中的任何物件。如下:

all_in_list = [

1, #整數

1.0, #浮點數

『a word』, #字串

print(1), #函式

true, #布林值

[1,2], #列表中套列表

(1,2), #元祖

#字典]對於資料的操作,最常見的為增刪改查。在此就省略了,網上找下相應函式練習下即可。

2 字典(dict)

字典中資料必須是以鍵值對的形式出現的;

邏輯上講,鍵是不能重複的;

字典中的鍵(key)是不可變的,也就是無法修改的,而值(value)是可變的,可修改的,可以是任何物件。

下面是個例子:

nasdaq_code =

乙個字典中鍵與值並不能脫離對方而存在,如果你寫成了 會引發乙個語法錯誤:invalid syntax。

如果試著將乙個可變(mutable)的元素作為 key 來構建字典,比如列表:key_test = ,則會報乙個錯:unhashable type:『list』。

同時字典中的鍵值不會重複,即便你這麼做,相同的鍵值也只能出現一次:a = 。

增刪改查操作,在此省略了。

備註:列表中用來新增多個元素的方法為extend,在字典中新增多個元素的方法為update()

字典是不能切片的,即這樣的寫法是錯誤的:chart[1:4]

3 元組(tuple)

元組可以理解為乙個穩固版的列表,因為元組是不可以修改的,因此在列表中的存在的方法均不可以使用在元組上,但是元組是可以被檢視索引的,方式和列表一樣。

letters = ('a, 『b』, 『c』, 『d』)

letters[0]

相關的操作找**練習下即可。

4 集合(set)

集合則更接近數學上集合的概念。每乙個集合中是的元素是無序的、不重複的任意物件,我們可以通過集合去判斷資料的從屬關係,有時還可以通過集合把資料結構中重複的元素減掉。

集合不能被切片也不能被索引,除了做集合運算之外,集合元素可以被新增還有刪除:

a_set =

a_set.add(5)

a_set.discard(5)

5 資料結構的一些技巧

(1) 多重迴圈

**演示:

for a, b in zip(num, str):

print(b, 『is』, a)

(2) 推導式

列表推導式的用法很好理解,可以簡單地看成兩部分。如下圖:

**演示:

可以換成列表解析的方式來寫:

b = [i for in i range(1, 11)]

列表解析式不僅方便,並且在執行效率上要遠遠勝過前者。

python資料結構

資料結構是一種結構,它們用以把一些資料儲存在一起。在python中有三種內建的資料結構 列表 list 元組 tuple 字典 dictionary 列表由一對方括號括起來,其中的專案之間以逗號分隔。你可以在列表中增加 刪除 查尋專案。示例如下 python using list.py 這兒有 4 ...

python 資料結構

刪除元素 remove,pop,del set是乙個無序的,不重複的元素集合 set中每個元素都是可雜湊的,但是set不是可雜湊的。相對應的frozenset,可hash,可以作為keys存在於dict中 支援 x in set,len set for x in set,不支援slice等序列操作 ...

python 資料結構

變數是只不過保留的記憶體位置用來儲存值。這意味著,當建立乙個變數,那麼它在記憶體中保留一些空間a abc 1.在記憶體中建立了乙個 abc 的字串 2.在記憶體中建立了乙個名為a的變數,並把它指向 abc a abc b a a xyz a abc 直譯器建立了字串 abc 和變數a,並把a指向 a...