**
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...