1. 程式人生 > >字典常用操作

字典常用操作

copy 每一個 AR 更新 包括 AS date() 修改方法 hello

‘‘‘字典的方法
d1.get()        d1.setdefault() d1.pop()        d1.popitem()      
d1.copy()       d1.update()     
d1.items()      d1.keys()       d1.values()            
d1.fromkeys()
d1.clear()       
‘‘‘

# 創建
d1 = {‘name‘: 99, 3: ‘z‘, ‘l‘: [1, 2]}
print(d1)
d2 = dict(name=99, l=‘z‘, m=[2, 4])  # 這種創建字典的方式一般key為字符串,value為數字的時候使用
print(d2)
d3 = dict(([‘age‘, 18], [0, 99], [‘l‘, [‘3‘, 2]], [3, 5]))
print(d3)
d4 = dict([[‘age‘, 18], [0, 99], [‘l‘, [‘3‘, 2]], [3, 5]])   # 如左邊所示,創建字典都可以這樣
print(d4)                                                    # 不過大家一般使用([( , )( , )])
d5 = dict([(‘age‘, 18), (0, 99), (‘l‘, [‘3‘, 2]), (3, 5)])   # 這種方式來創建字典比較規範
print(d5)
d5[0] = 33   # 不會因為創建時用的是元組所以沒法更改value
print(d5)

print(‘刪除‘)
# 刪除
d5.clear()
print(d5)    # clear() 清空操作
# del d5     # 刪除操作
# print(d5)
# del(d4)      # 刪除可以使用del(**)或者 del **
# print(d4)
del d1[‘l‘]      # 這兩個是刪除具體的鍵值對的,參數是key
del(d1[‘name‘])
print(d1)
d1.pop(3)      # 必須寫入要刪除的key值,這樣才能刪除對應鍵值對
print(d1)
print(d2)
r = d2.popitem()    # popitem() 直接刪除最後一個鍵值對,並且返回刪除的鍵值對
print(r)
print(d2)
s1, s2 = d2.popitem()
print(s1)
print(s2)


print(‘修改:‘)
# 修改
d1[3] = ‘不是z‘  # 直接用下標改值就行
d1[‘name‘] = ‘剛加的‘   # 如果字典不存在這個key則直接添加進去
print(d1)
d1.update(([(‘sex‘, 12), [‘age‘, 18]]))
print(d1)
print(d2)        # update( )裏面參數一般使用([( , )( , )])來添加,元組裏面也可以是列表嵌套,不過這個最規範
d1.update(d2)    # 或者update( )裏面可以放進別的字典作為參數
print(d1)        # 修改方法是把沒有的鍵值對放進去,如果有存在的key,則對比value
                 # 如果value不一樣,則把新的(參數)value更新進去

print(‘查找‘)
# 查找
n = d1.get(‘不是z‘, d1)   # get(要查找的key,沒找到返回的值),如果找到了則返回對應的value
n1 = d1.get(‘name‘)   # 如果沒有找到則返回第二個參數的值,類型應該是任意類型,如左邊就返回了一個字典
print(n)
print(n1)
n3 = d1.setdefault(‘不是z‘, d2)  # 跟get()用法類似,只不過它在沒有找到的時候不僅僅返回第二個參數
print(n3)                       # setdefault()還把沒有查找到的key添加進去了,第二個參數作為value
print(d1)

print(‘操作‘)
# 操作
print(d2)
k = d2.keys()      # 取字典中的key
v = d2.values()    # 取字典中的value
it = d2.items()    # 取字典中的鍵值對
print(k)
print(v)
print(it)

d6 = dict.fromkeys(‘hello‘, 22)  # fromkeys(可叠代的序列,值)拆分每個可叠代的序列,每個元素作為一個key
print(d6)                        # 第二個參數作為每一個元素的value,構成字典

# 遍歷
# for k in d2:
#     print(k)
print(d2)
print(‘打印枚舉序列‘)
for k, v in enumerate(d2):   # 只要涉及enumerate的時候就必然包括序號和對應的值,字典中對應的是key
    print(k)                 # 別的基本都是下標所對應的
    print(v)
print(‘打印key‘)
for k in d2.keys():
    print(k)
print(‘打印value‘)
for v in d2.values():
    print(v)
print(‘打印鍵值對‘)
for i in d2.items():
    print(i)
print(‘對鍵值對拆包‘)
for key, value in d2.items():
    print(key)
    print(value)

# 1: 1 ,2: 4 3:9
dict1 = {i: i ** 2 for i in range(10)}  # 列表推導式
print(dict1)

# 合並兩個列表為字典
list1 = [‘name‘, ‘age‘, ‘sex‘]
list2 = [‘gui‘, 30, ‘man‘]
dict2 = {list1[i]: list2[i] for i in range(len(list1))}
print(dict2)

# 字典鍵值對互換
d33 = {‘name‘: 99, 3: ‘z‘, ‘l‘: ‘L‘}
d22 = dict()
for k, v in d33.items():
    d22[v] = k
print(d33)
print(d22)

  

字典常用操作