基本資料型別 (二)變數和集合

2021-09-24 18:26:08 字數 3955 閱讀 8796

# print是內建的列印函式

print("i m python. nice to meet you!")

# 在給變數賦值前不用提前宣告

# 傳統的變數命名是小寫,用下劃線分隔單詞

some_var = 5

some_var # => 5

# 訪問未賦值的變數會丟擲異常

# 參考流程控制一段來學習異常處理

some_unknown_var # 丟擲nameerror

# 用列表(list)儲存序列

li =

# 建立列表時也可以同時賦給元素

other_li = [4, 5, 6]

# 用pop從列表尾部刪除

li.pop() # => 3 且li現在是[1, 2, 4]

# 把3再放回去
# 列表訪問跟陣列一樣

li[0] # => 1

# 取出最後乙個元素

li[-1] # => 3

# 越界訪問會造成indexerror

li[4] # 丟擲indexerror

# 列表有切割語法

li[1:3] # => [2, 4]

# 取尾

li[2:] # => [4, 3]

# 取頭

li[:3] # => [1, 2, 4]

# 隔乙個取乙個

li[::2] # =>[1, 4]

# 倒排列表

li[::-1] # => [3, 4, 2, 1]

# 可以用三個引數的任何組合來構建切割

# li[始:終:步伐]

# 用del刪除任何乙個元素

del li[2] # li is now [1, 2, 3]

# 列表可以相加

# 注意:li和other_li的值都不變

li + other_li # => [1, 2, 3, 4, 5, 6]

# 用extend拼接列表

li.extend(other_li) # li現在是[1, 2, 3, 4, 5, 6]

# 用in測試列表是否包含值

1 in li # => true

# 用len取列表長度

len(li) # => 6

# 元組是不可改變的序列

tup = (1, 2, 3)

tup[0] # => 1

tup[0] = 3 # 丟擲typeerror

# 列表允許的操作元組大都可以

len(tup) # => 3

tup + (4, 5, 6) # => (1, 2, 3, 4, 5, 6)

tup[:2] # => (1, 2)

2 in tup # => true

# 可以把元組合列表解包,賦值給變數

a, b, c = (1, 2, 3) # 現在a是1,b是2,c是3

# 元組周圍的括號是可以省略的

d, e, f = 4, 5, 6

# 交換兩個變數的值就這麼簡單

e, d = d, e # 現在d是5,e是4

# 用字典表達對映關係

empty_dict = {}

# 初始化的字典

filled_dict =

# 用取值

filled_dict["one"] # => 1

# 用 keys 獲得所有的鍵。

# 因為 keys 返回乙個可迭代物件,所以在這裡把結果包在 list 裡。我們下面會詳細介紹可迭代。

# 注意:字典鍵的順序是不定的,你得到的結果可能和以下不同。

list(filled_dict.keys()) # => ["three", "two", "one"]

# 用values獲得所有的值。跟keys一樣,要用list包起來,順序也可能不同。

list(filled_dict.values()) # => [3, 2, 1]

# 用in測試乙個字典是否包含乙個鍵

"one" in filled_dict # => true

1 in filled_dict # => false

# 訪問不存在的鍵會導致keyerror

filled_dict["four"] # keyerror

# 用get來避免keyerror

filled_dict.get("one") # => 1

filled_dict.get("four") # => none

# 當鍵不存在的時候get方法可以返回預設值

filled_dict.get("one", 4) # => 1

filled_dict.get("four", 4) # => 4

# setdefault方法只有當鍵不存在的時候插入新值

filled_dict.setdefault("five", 5) # filled_dict["five"]設為5

filled_dict.setdefault("five", 6) # filled_dict["five"]還是5

# 字典賦值

filled_dict.update() # =>

filled_dict["four"] = 4 # 另一種賦值方法

# 用del刪除

del filled_dict["one"] # 從filled_dict中把one刪除

# 用set表達集合

empty_set = set()

# 初始化乙個集合,語法跟字典相似。

some_set = # some_set現在是

# 可以把集合賦值於變數

filled_set = some_set

# 為集合新增元素

filled_set.add(5) # filled_set現在是

# & 取交集

other_set =

filled_set & other_set # =>

# | 取並集

filled_set | other_set # =>

# - 取補集

- # =>

# in 測試集合是否包含元素

2 in filled_set # => true

10 in filled_set # => false

往期文章

基本資料型別 (六、七):模組、高階用法

基本資料型別 (五):類

基本資料型別 (四)函式

基本資料型別 (三)流程控制和迭代器

基本資料型別(一). 原始資料型別和運算子

基本資料型別 和 變數

資料型別可以理解為固定記憶體大小的別名 資料型別是建立變數的模子 變數是一段實際連續儲存空間的別名 程式中通過變數來申請並命名儲存空間 通過變數的名字可以使用儲存空間 c和c 語言中基本的資料型別有 字元型 char 整形 short,int,long 浮點型 float,double 同時字元型和...

基本資料型別 集合

集合 set 定義集合 qq 或者是qq set value,value 集合的作用 去重,關係運算 集合必須為可hash型別 集合元素的幾個原則 1 每個元素為不可變型別 可hash,可以作為字典裡的kay 2 沒有重複元素 3 無序 無序排列 重點來了 集合的目的就是講不同的值放在一起,不同的集...

變數 常量和基本資料型別

變數就是可以變化的量,量指的是事物的狀態,比如人的年齡 性別,遊戲角色的等級 金錢等等 為了讓計算機能夠像人一樣去記憶事物的某種狀態,並且狀態是可以發生變化的 詳細地說 程式執行的本質就是一系列狀態的變化,變是程式執行的直接體現,所以我們需要有一種機制能夠反映或者說是儲存下來程式執行時狀態,以及狀態...