一、字典
儲存方式: 鍵值對key-value
1.建立 a = 「:」前是鍵值,即資料的代名詞(名字);「:」後是真實資料。
2.鍵的作用:確定哪一棵紅黑樹,在儲存時將鍵值和資料同時儲存在同乙個節點上。
3.鍵值可以是字串,數字,元組,不能是列表(因為鍵值是乙個固定值,但列表可以改變)
4.兩個鍵值不可相同,如果鍵值相同,上乙個資料會被覆蓋。
5.value值的型別:沒有限制,可以是任意型別
6.字典操作
b =
#新增b["tel"] = 138
#修改b["tel"] = 139
#新增和更新
b.update() #只能新增乙個字典,但可以在乙個字典中新增或更新多個資料
#刪除del b["name"]
b.pop("name")
#刪除整個字典
del b
#查詢print(b["age"])
#查詢所有鍵值
print(b.keys())
#查詢所有資料
print(b.values())
#查詢所有鍵值和資料
print(b.items())
#迴圈列印所有鍵值和資料
for key,value in b.items():
print(key,value)
#清除b.clear()
#刪除(可以不傳引數,預設刪除最後一項)
b.popitem()
7.字典內建函式
a =
b =
#判斷長度
print(len(b))
#轉字串
print(str(b))
#判斷是否存在
print("name" in b.keys())
8.字典排序
(1)按資料排序
d =
ds = sorted(d.items(),key = lambda x:x[1])
print(ds)
import operator
ds = sorted(d.items(),key = operator.itemgetter(1),reverse=true)
print(ds)
#注:reverse=true時為倒序排序,reverse=false時為正序排序
f = zip(d.values(),d.keys())
ds = sorted(f)
print(ds)
注:排序後資料在前,鍵值在後
(2)按鍵值排序時,必須保證型別相同,按自然順序排序。
9.字典底層訪問原理
正常想要獲取dict中的值,首先要知道key通過dict[key]獲取對應的value,在雜湊表中為了達到這種操作, 首先會計算key的hash值即雜湊值,把這個值最低的幾位數字當作偏移量,在雜湊表裡 查詢表元(具體取幾位,得看當前雜湊表的大小)。若找到表元為空,異常keyerror,不為空, 表元裡會有一對 found_key:found_value。這時候 python 會檢驗 search_key == found_key 是否為真, 如果它們相等的話,就會返回 found_value。如果兩個值不匹配,則是雜湊衝突。 而雜湊表本身的索引又只依賴於這個數字的一部分。為了解決雜湊衝突,演算法會在雜湊值中另外 再取幾位,然後用特殊的方法處理一下,把新得到的數字再當作索引來尋找表元。 若這次找到的表元是空的,則同樣丟擲 keyerror;若非空,或者鍵匹配,則返回這 個值;或者又發現了雜湊衝突,則重複以上的步驟。
二、插入排序
#定義插入排序方法,對列表list進行排序
def insertsorted(list):
#外層迴圈:確定從哪乙個數開始迴圈
for i in range(1,len(list)):
#定義臨時變數,取出即將進行比較的數
temp = list[i]
flag = false
#裡層迴圈:從i的前一位到列表首位進行比較。由於是倒序比較,所以步長為-1
for j in range(i-1,-1,-1):
#如果前乙個值大於取出的值,則把前乙個值後移一位
if list[j]>list[i]:
list[j+1] = list[j]
else:
list[j+1] = temp
flag = true
break
#當取出的數比前面所有的數都小,則插入到首位
if not flag:
list[0] = temp
0220 別用趕路的心態學習
學習和旅遊,其實挺像的。比較現代人的旅遊,基本是下車拍照 上車睡覺。炫耀的是去過哪哪哪,有朋友圈為證。可如果你問些旅遊地稍微有深度的問題,基本就 gg 了。學習也是類似,我會 我學過 很多也都是朋友圈曬照級別的。真要用 解決某個問題 做出乙個產品,基本就 gg 了。花一年時間走遍世界,可能不如在乙個...
python學習日誌
1 python中range xrange 和np.arange 區別 range 多用於迴圈,返回乙個range物件,若想要返回乙個list則前面加上list轉換 arange 是numpy中的函式,np.range 返回乙個array型別的物件,可以使用小數步長 xrange 返回xrange ...
Python學習日誌
元組不可修改,但是可以給儲存元組的變數賦值。現在每學乙個東西就會莫名的拿去和之前學過的東西做一比較,python是真的太舒服了。當然寫for or if 都是要記得後面的 而且也可以進行級聯,只不過是if,elfe,else。還可以用in來判斷某個元素在沒有某個列表裡面。字典是一系列鍵值對,新增起來...