python 基礎複習 05

2022-09-12 23:42:18 字數 4548 閱讀 4803

#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 啟發式演算法,美滋滋。保...