1. 程式人生 > >python字典操作和內置方法

python字典操作和內置方法

def say 數據 覆蓋 word pytho 安全 date count

一 字典基本介紹

python中只有字典是映射結構,通過key取值,並且key是不可變數據類型,而value可以是任意數據類型。

字典通過一個花括號,裏面存放key:value的數據結構來定義。理論上講,字典是無限大的。

二 字典常用操作

1 按key取值

dic = {name:szz,age:18,sex:male)
name = dic[name]
print(name)
# 輸出結果為 ‘szz‘

2 計算字典的長度

# len方法計算字典的長度
dic = {name:szz,age:18,sex:male)
len_of_dic = len(dic)
print(len_of_dic) # 輸出結果為 3

3 字典刪除操作

d={x:1,y:2,z:3}
del d[y]
print(d)
# 輸出結果為 {‘x‘:1,‘z‘:3}

res=d.pop(y)
print(d)
print(res)
pop有返回值

res=d.popitem()
print(res)
# 輸出結果為 (‘z‘:3)

4 key,value的操作

# 得到字典中所有的鍵
d = {name:szz,age:18,sex:male) print(d.keys()) print(list(d.keys())) # 輸出結果為 (‘name‘,‘age‘,‘sex)
# [‘name‘,‘age‘,‘sex‘]
# 得到字典中所有的值,用for循環取值
d={x:1,y:2,z:3}
v = d.values()
for i in v:
    print(i)
# 輸出結果為 1 2 3
d = {name:szz,age:18,sex:male,x:1,y:2,z:3)
for k,v in d.items():
    print(k,v)
# 輸出結果為 ‘name‘ ‘szz‘ ‘age‘ 18 ‘sex‘ male ‘x‘ 1 ‘y‘ 2 ‘z‘ 3
# 如果直接對字典進行for循環,則默認循環字典的key

5 get方法

d={name:szz,age:18,sex:male,hobbies:[1,2,3]}
v=d.get(name)
print(v)
# 當不確定字典中是否存在某一個鍵值時,使用get方法更安全

6 update方法

# update 有新鍵值對的話會添加進字典,有相同的key則會覆蓋舊值
d={name:szz,age:18,sex:male,hobbies:[read,movie]}
d1={age:22,addr:shanghai}
d.update(d1)
# 直接在d的基礎上改變

7 fromkeys

# 給定一個一直列表,用該列表中的值當做key初始化一個字典
keys=[name,age,sex]
d={}
for k in keys:
    d[k]=Noned={}.fromkeys(keys,None)
print(d)
# 輸出結果為 {‘name‘:None,‘age‘:None,‘sex‘:None}

8 setdefault

# key存在則修改,不存在則添加
d={"x":1,"y":2}
res=d.setdefault(x,11111) # 在key存在的情況下不修改值,會返回原值print(d)
print(res)
# 輸出結果 {‘x‘:1,‘y‘:2}
# 輸出結果 1

res=d.setdefault(z,11111) # 在key不存在的情況下會新增值,會返回新增# 的值
print(d)
print(res)
# 輸出結果 {‘x‘:1,‘y‘:2‘,‘z‘:11111)
# 輸出結果 11111

9 setdefault使用場景

s=hello world world say hello  hello
d={hello:4,word:2,say:1}

d={}
words=s.split()
# print(words) 
for word in words: 
    d[word]=words.count(word) 
    d.setdefault(word,words.count(word))

print(d)
# 輸出結果為 {‘hello‘:4,‘word‘:2,‘say‘:1}

python字典操作和內置方法