#dict 字典
1"""2
# 資料型別劃分:可變資料型別,不可變資料型別
3不可變資料型別: 元祖, bool, int, str, 不可更改的又叫可雜湊
4可變資料型別: 列表list dict字典 set集合 不可雜湊
5"""67
#字典的 key(鍵) 必須是不可變的 就是可雜湊的 有元祖tuple, bool,int,str8#
value:任意資料型別9#
dict 優點:二分查詢去查詢10#
字典是無序的
1112
#dic = ,15#
],16
#true: 1,17#
(1,2,3): "pioneer",18#
2: "two",19#
}20#print(dic)
2122
2324
#dic1 =
2526#增
27#dic1 =
2829
#dic1["high"] = 185 # 沒有鍵值對,新增 (原字典中沒有的則新增)30#
dic1["age"] = 16 # 如果有鍵,則覆蓋
3132
#dic1.setdefault("weight")33#
print(dic1) # 34#
沒有鍵就新增 值則是預設的none
3536
#dic1.setdefault("weight", "蜘蛛") # 有鍵值對,不做任何改變, 沒有才新增。37#
dic1.setdefault("weight", 135) # 如果原字典裡有鍵又有值,那麼後新增的值則沒有用38#
print(dic1)
3940
4142#刪除
4344
#dic1 =
4546
#pop() 按鍵去刪除47#
print(dic1.pop("age")) # pop()有返回值 被刪除的值, 按鍵去刪除48#
print(dic1)
495051#
print(dic1.pop("gender")) # 沒有的鍵刪除 會報錯52#
print(dic1.pop("gender","沒有此鍵")) # 當你以後要刪除某鍵時,但又不知道53#
它到底存不存在,不存在你刪除時,54#
就會給你報錯,這時 你就可以在鍵後55#
麵再加乙個值,這樣就不會報錯了56#
print(dic1)
575859#
dic1 = 60#
print(dic1.popitem()) # ('***', 'male') # python 3.6 之前是隨機刪除(不包括3.6)61#
以後就是預設刪除最後乙個62#
有返回值 元祖裡面是刪除的鍵值63#
print(dic1)
646566#
dic1 = 67#
dic1.clear() # 清空字典68#
print(dic1)
6970
#del dic1["name"] # 沒有返回值 按鍵去刪除71#
print(dic1)
7273
#del dic1 # 刪除字典74#
print(dic1)
7576
777879#
改80#dic1 = 81#
dic1["age"] = 13 # 通過鍵 直接賦值82#
print(dic1)
8384
#dic = 85#
dic2 = 86#
dic2.update(dic)87#
print(dic) # 88#
print(dic2) #
8990
9192
9394
#dic1 = 95#
查9697#
print(dic1.keys(), type(dic1.keys())) # dict_keys(['age', 'name', '***']) 98#
# 返回的是列表99#
print(dic1.values()) # dict_values([18, 'jin', 'male']) # 返回的是列表
100#
print(dic1.items()) # dict_items([('age', 18), ('name', 'jin'), ('***', 'male')]) # 返回的是元祖 元祖裡面是鍵值
101102
#dic1 =
103#
for i in dic1:
104#
print(i) # 用 for 迴圈遍歷字典 列印的是鍵 age
105#
name
106#
***107
108109
110#
用一行**實現啊a,b值的互換
111#
a = 1
112#
b = 2
113#
a, b = b, a
114#
print(a,b)
115116
117#
a, b = [1, 2]
118#
print(a, b) # 1 2
119120
#a, b = [1, 2], [2, 3]
121#
print(a,b) # [1, 2] [2, 3]
122123
124#
dic =
125#
for i in dic.items():
126#
print(i)
127#
列印出來如下
128#
('name', 'jin')
129#
('age', '18')
130#
('***', 'male')
131132
#但需求是 不要小括號 不要冒號 做法如下
133#
dic =
134#
for k, v in dic.items():
135#
print(k, v)
136#
列印如下
137#
name jin
138#
age 18
139#
*** male
140141
142#
dic =
143#
v1 = dic["name"]
144#
print(v1)
145146
147#
如果不確定找的鍵有沒有 就用get() 不會報錯
148#
v2 = dic["name1"]
149#
print(v2) # 報錯了
150151
#get
152#
print(dic.get("name1", "沒有這個鍵"))
153#
不會報錯 如果沒有會返回你寫的值 沒有這個鍵
154155
156157
158159
160161
#dic = ,
168#
"age": 23
169#
}170
171#
1) 需求 age 改成 33歲
172#
dic["age"] = 66
173#
print(dic)
174175
#2) 需求 往"name"中新增乙個"蜘蛛"
176#
177#
print(dic)
178179
#3) 需求 把name中的"wusir"變成大寫
180#
dic["name"][1] = dic["name"][1].upper() # 這裡一定得注意,要賦值
181#
print(dic)
182183
#4) 需求 給py12 對應的字典 新增乙個鍵值對 "female": 10
184#
dic["py12"]["female"] = 10
185#
print(dic)
186187
188189
#需求 隨便輸入字串,最後測試字串裡面數字的個數
190 info = input("
>>>")
191for i in
info:
192if
i.isalpha():
193 info = info.replace(i, "")
194195 l =info.split()
196print(len(l))
Python 基礎複習
類和物件 類 使用關鍵字class定義類 在類中能定義類成員變數和成員函式,類成員函式必須帶self引數 self是物件本身的引用,在成員函式中能引用self獲得物件的資訊 建構函式 def init self 通過預設引數實現多種方式構造物件 def init self,name color 析構...
python基礎複習
環境問題 python命令找不到 有可能是沒有配置環境變數 重啟電腦 只需要保留乙個 python 版本。pytest沒法執行,可以嘗試下面兩種命令 py.test python m pytest輸入 pytest html output.html,報html找不到的錯,可能是由於沒有安裝 pyte...
Python基礎複習
2019 01 31 18 34 55。美賽剛結束,感覺還是我的程式設計太菜了,平時也沒有花時間去看演算法,只是把黃書過了一遍,隊友也幾乎不會程式設計,國賽感覺希望也不大。現在先把python的二級考了,下學期和導師學學深度學習,大三參加stitp,有時間再學學matlab 啟發式演算法,美滋滋。保...