1. 程式人生 > >python中dict字典的簡單了解

python中dict字典的簡單了解

切割字符串 取字符串 dict dex 返回 刪除 存儲 split 支付

‘‘‘
概述:
使用鍵-值(key-value)存儲,具有極快的查找速度
註意!!:字典是無序的

key的特性:
1、字典中的key必須唯一
2、key必須是不可變的對象
3、字符串、整數都是不可變的,可以作為key
4、list是可變的,不能作為key

思考:保存多位學生的姓名和成績

使用字典,學生姓名為key,學生成績作為值

list用[]
tuple用()
dict用{}

‘‘‘
#get 如果key不在字典中則會返回None


dict1={"tom":60,"li":70}#存兩個人的信息
#元素的訪問
#獲取:字典名[key]
print(dict1["tom"]) # 60
#print(dict1["lilei"]) #沒有會報錯

print(dict1.get("lilei"))#訪問get中的支付串,如果沒有會返回None
‘‘‘
dict1={"tom":60,"li":70}
#輸入一個人名,查找其成績
index=str(input("請輸入你要查找的人名"))
ret =dict1.get(index)#查找字典中是否有輸入的人
if ret==None:
print("沒有該學員")
else:
#print("有該學員") #60
print(dict1.get(index))
‘‘‘
#添加
dict1["hanmeimei"]=99#添加key和value
#因為一個key對應一個value,所以多次隊一個Key的value賦

# 值,其實就是修改值
dict1["li"]=80#修改key 的值
print(dict1)#{‘tom‘: 60, ‘li‘: 80, ‘hanmeimei‘: 99}

#刪除
dict1.pop("tom")
print(dict1)



#遍歷

for key in dict1:
print(key,dict1[key])#hanmeimei 99

#print(dict1.values())

#values()只提前成績
for value in dict1.values():#提取所有成績,
print(value)#
# 60
# 80
# 99

#items()提前名和成績
for k,v in dict1.items():#提前key和value

print(k,v) #tom 60
#li 80
#hanmeimei 99
#enumerate()排序後取出名(key)
for i,v2 in enumerate(dict1):#給字典排序後提取
print(i,v2)# 0 tom
# 1 li
# 2 hanmeimei


#dict和list比較
#1、查找和插入的速度極快,不會隨著key-value的增加而變慢
#2、需要占用大量內存,內存浪費多
‘‘‘
a=input()
#a="low"
str="ONG IS a low team. ONG IS a low team." \
" ONG IS a low team. ONG IS a low team. ONG IS a low team. ONG IS a low team." \
" ONG IS a low team. ONG IS a low team. ONG IS a low team." \
" ONG IS a low team. ONG IS a low team."

print(sr.count(a))#查找字符在字符串中出現的次數,可以單詞,也可以是
一個字母
‘‘‘
‘‘‘
在字符串中找到輸入的字符出現次數,如果沒有會報錯

a=input(“輸入想要找的單詞”)#輸入一個要找的字符
d={} #定義一個空字典
str="ONG IS a low team. ONG IS a low team." \
" ONG IS a low team. ONG IS a low team. ONG IS " \
"a low team. ONG IS a low team." \
" ONG IS a low team. ONG IS a low team. ONG IS a low team." \
" ONG IS a low team. ONG IS a low team."
x=str.split(" ")#按空格選取字符串,並賦值給x
for v in x: #循環處理列表中的每一個元素
c=d.get(v) #提取x中單詞,如果字典中沒有,則返回None,並將這個作為key存入字典
if c==None:
d[v]=1 #給字典中的key賦值對應的value
else:
d[v]+=1
if a!=d[v]:
print("字符串中沒有該單詞!")
else:
print(d[a])
#print(len(x))#計算一個有多少個單詞
如果輸入沒有的會報錯
1、以空格切割字符串
2、循環處理列表中的每個元素
3、以元素當做key去字典中提前數據
4、如果沒有提前到,就以該元素作為key,1作為value存進字典
5、如果提前到,將對應的key的value修改,值加1
6、根據輸入的字符串當做key再去字典取值
‘‘‘

python中dict字典的簡單了解