1. 程式人生 > >python3字典相關方法

python3字典相關方法

# -*- coding:utf-8 -*-
# Author: Evan Mi

info = {
    'stu1101': 'TengLan Wu',
    'stu1102': 'LongZe Luola',
    'stu1103': 'XiaoZe Maliya'
}  # 字典是無序的
print(info)
print(info['stu1101'])  # 不存在會報錯
print(info.get('stu1101'))  # 不存在返回None
print('stu1103' in info)  # 判斷是否包含某個key


info['stu1101'] = 'Wu TengLan'  # 存在修改
info['stu1104'] = 'Cang Jin Kong'  # 不存在新增
print(info)
print('split'.center(50, '*'))
# 刪除
# del info['stu1101'] #刪除字典中key為stu1101的key-value對
# tem = info.pop('stu1102') #返回key所對應的value,並刪除字典中的key-value對
# print(tem)
# ite = info.popitem() # 隨機刪除一個 並以tuple的方式返回 也就是(key,value)
# print(ite)
print('split'.center(50, '*'))
print(info)
print(info.values())  # 和info.keys()都返回一個迭代器物件,用list()方法來轉為列表
print(list(info.values())[0])
print(info.keys())
print('split'.center(50, '*'))
print(info.setdefault('stu1101', 'Pig'))  # 如果不存在,設定值並返回,如果存在,不設定值,返回已經存在的值
print(info)
print(info.setdefault('stu1108', 'Pig'))
print(info)
print('split'.center(50, '*'))
b = {
    'stu1101': 'Alex',
    1: 3,
    2: 5
}
info.update(b)  # 用另外一個字典來更新info
print(info)
iite = info.items()  # 也是一個迭代器物件,返回字典中的所有key-value的元組形式的迭代器
# 如果轉化為列表,就是[(k1,v1),(k2,v2),(k3,v3)]
print(list(iite)[0][0])

# 給定一組key,然後給定初始值;把所有的key都賦值初始值(default欄位)
tem = dict.fromkeys(['stu1101', 5, 6], 'test')  # default欄位是淺複製的要注意
print(tem)


for i in info:  # i是info的key
    print(i, info[i])

for k, v in info.items():  # 不高效不建議使用
    print(k, v)
print("hello".center(50, "*"))
for x in info.keys():
    print(x)