python3 字典的基本使用方法

python中字典是一种键值对的形式存储数据(键的要求是不可变数据类型(数字、字符串、元组),并且不能重复出现),例dict1 = {'a': 'A', 'b': 'B'}键值用:分开,对与对之间用分开

一、字典的添加

#创建空字典
dict1 = {}
dict1['a'] = 'A'    # dict1 = {'a': 'A'}
dict1['b'] = 'B'    #dict1 = {'a': 'A', 'b': 'B'}

#还有个dict.setdefault(key,default=None)  添加一个键值对,如果键已经存在,则不添加,如果不存在,添加一个键值对 值default 默认是None
dict1.setdefault('c', 'C')    #dict1 = {'a': 'A', 'b': 'B', 'c': 'C'}

二、字典的修改

#修改字典 修改就是在他原来值的数据上面覆盖一个新的数据
dict1 = {'a': 'A', 'b': 'B'}
dict1['a'] = 'AA'   #dict1 = {'a': 'AA', 'b': 'B'}
dict1['c'] = 'CC'   #dict1 = {'a': 'AA', 'b': 'B', 'c': 'CC'}  如果想修改的那个不存在 则成了添加

三、字典的删除

1.del 删除,无返回值

    # del 删除
    dict1 = {'a': 'AA', 'b': 'B', 'c': 'CC'}
    del dict1['a']     #dict1 = {'b': 'B', 'c': 'CC'}  删除dict1 以a为键的键值对
    del dict1['a']     #如果要删除的键不存在  则会报错KeyError
    del dict1          #如果是del 字典名字,则直接删除了字典 

2.pop删除,有返回值

#pop删除
dict1 = {'a': 'AA', 'b': 'B', 'c': 'CC'}
a = dict1.pop('a')   # 返回键为‘a’的对应的值  print(a)  a = 'AA'   dict1 = {'b': 'B', 'c': 'CC'}
randkey = dict1.popitem()   # 删除最后一对键值对 并以元组的形式返回键跟值  randkey = ('c', 'CC')    dict1 = {'b': 'B'}

3.clear() 清空字典

#clear() 清空字典
dict1 = {'a': 'AA', 'b': 'B', 'c': 'CC'}
dict1.clear()    # dict1 = {}

四、字典的合并

方法1:

#字典的合并 
dict1 = {'a': 'A', 'b': 'B', 'c': 'C'}
dict2 = {'a': 'AA', 'd': 'D', 'e': 'E'}

# 如果在遇到两个字典里面有同样的键的时候 要注意保留那个就放到后面要添加的位置。
dict1.update(dict2)    # 把dict2 添加到dict1里面  dict1 = {'a': 'AA', 'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E'}
dict2.update(dict1)    # 把dict1 添加到dict1里面  dict1 = {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E'}

方法2:

#字典的合并2
dict1 = {'a': 'A', 'b': 'B', 'c': 'C'}
dict2 = {'a': 'AA', 'd': 'D', 'e': 'E'}
dict3 = dict(**dict1, **dict2)  # dict3 = {'a': 'AA', 'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E'}  跟上面的一样  放到后面的重复键的值能保留下来

五、其他常用方法

常用的有 dict.keys(),dict.values(),dict.items() 返回一个可迭代的对象,key in dict,key in dict.keys(),value in dict.values() 返回布尔值

dict1 = {'a': 'A', 'b': 'B', 'c': 'C'}
# dict.keys()  返回一个字典的key值的可迭代对象
print(dict1.keys())   # dict_keys(['a', 'b', 'c'])
# dict.values()   返回一个字典的value值的可迭代对象
print(dict1.values())    # dict_values(['A', 'B', 'C'])
# dict.items()   返回一个可遍历的(键, 值)元组的数组
print(dict1.items())    # dict_items([('a', 'A'), ('b', 'B'), ('c', 'C')])
# 上面三个都能用list()转换成列表
# key in dict   key in dict1.keys()   value in dict1.values() 这些都可用作判断
'a' in dict1   # True 如果是   ‘A’ in dict1  明显dict1中没有键是'A'的,则返回 False
# dict.copy()  浅拷贝 就先当他是复制一个dict  有关赋值 浅拷贝 深度拷贝的区别下次再聊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值