python--字典(十五)

python--字典(十五)

# 字典
# 创建一个普通的字典
dictd={'name':'zhangx','李宁':'一切皆有可能','张栋梁':'音乐艺人','李白':'诗人'}
print(dictd) #打印字典中所有的元素
print(dictd['李白'])  #打印字典中某一个元素

# 创建空字典
dict={}

# 更新字典中Key的值
dictd={'name':'zhangx','李宁':'一切皆有可能','张栋梁':'音乐艺人','李白':'诗人'}
dictd['李白']='我不是诗人,不会武功。'
print(dictd)    #{'name': 'zhangx', '李宁': '一切皆有可能', '张栋梁': '音乐艺人', '李白': '我不是诗人,不会武功。'}

# 在字典中插入新的键值对
dictd={'name':'zhangx','李宁':'一切皆有可能','张栋梁':'音乐艺人','李白':'诗人'}
dictd['杜甫']='唯有杜甫'
print(dictd)

# fromkeys 用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值(value为可选参数)
dic={}
dic2 = dic.fromkeys((1,2,3))    #创建一个只有key没有value的字典
print(dic2)     #{1: None, 2: None, 3: None}
# fromkeys快速创建key-value字典
dic={}
dic3 = dic.fromkeys((1,2,3),('李白','杜甫','李清照'))    #创建一个key和value的字典
print(dic3)
# 获取字典的键值
for key in dic3.keys():
    print(key)
# 获取字典的vlaue值
for value in dic3.values():
    print(value)

# 查询一个不存在的键
# print(dic3[4])  KeyError: 4  直接过去一个不存在的键会报错。
# 通过get方法获取键可以避免不存在的键报错
print(dic3.get(4))      # 打印 None  不会报错
# 通过in获取键可以避免不存在的键报错
print( 4 in dic3)   # False
print( 3 in dic3)   # True


# 清除字典元素
# clear()方法是用来清除字典中的所有数据,因为是原地操作,所以返回None(也可以理解为没有返回值)
dic3.clear()
print(dic3)     # {}
# 移除字典数据pop()方法的作用是:删除指定给定键所对应的值,返回这个值并从字典中把它移除。注意字典pop()方法
dic4={1:'one',2:'two',3:'thread'}
print(dic4.pop(2))  # two
# 字典popitem()方法作用是:随机返回并删除字典中的一对键和值(项)。
# 为什么是随机删除呢?因为字典是无序的,没有所谓的“最后一项”或是其它顺序。在工作时如果遇到需要逐一删除项的工作,用popitem()方法效率很高。
print(dic4.popitem())   #(3, 'thread')


# 字典的复制 copy
dictd1={'name':'zhangx','李宁':'一切皆有可能','张栋梁':'音乐艺人','李白':'诗人'}
dictd2 = dictd1.copy()
print(dictd2)      # {'name': 'zhangx', '李宁': '一切皆有可能', '张栋梁': '音乐艺人', '李白': '诗人'}


# 字典 setdefault() 函数和get()方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
'''
dict.setdefault(key, default=None)
key -- 查找的键值。
default -- 键不存在时,设置的默认键值。
'''
dic4={1:'one',2:'two',3:'thread'}
print(dic4.setdefault(4,'祥云'))  # 祥云
print(dic4) #{1: 'one', 2: 'two', 3: 'thread', 4: '祥云'}


# 字典update Python字典update()方法用于将dict2的键值对添加到dict。此方法不返回任何内容。
dic4={1:'one',2:'two',3:'thread'}
dic5={}
dic5.update(dic4)
print(dic5)     # {1: 'one', 2: 'two', 3: 'thread'}

猜你喜欢

转载自blog.csdn.net/m0_38039437/article/details/80347819
今日推荐