python(四)字典

字典特性

字典是一种重要的集合类型,具有如下特性
- 通过键(key),而非位置偏移(下标)来访问数据,键只能是不可变元素(字符串/数字/元组)
- 可以包含任意对象的无序集合
- 可变长度,可容纳不同类型的元素,无序集合
- 属于映射中的可变映射
- 本质是对象引用表(Hash Table)

变量声明

可以使用大括号{}dict函数进行字典声明

dict1 = {'name':'Tom','age':20,'sex':'male'} 
dict2 = dict(title='python入门',author='Tom',price=59.33)

已有数据转换为字典类型示例

obj1 = [('name','Tom'),('age':20)]
dict1 = dict(obj1)
keys = ['name','age','sex']
dict2 = dict.fromkeys(keys) # 生成一个指定key集的空字典

常用操作

  • dict1[key1]根据key获取字典值,没找到会抛出异常
  • dict1.get('key1'[,'defVal'])尝试获取字典值,如果没找到,返回None或指定默认值
  • key1 in dict1判断字典是否包含某个键
  • dict1.keys()获取字典的键集合视图
  • dict1.values()获取字典的值集合视图
  • dict1.items()获取字典的键值对集合视图
  • list(dict1.XXs())获取XX列表
  • for (k,v) in dict1.items():遍历字典的键值对
  • len(dict1)获取字典键值对数量
  • dict1.copy()返回字典的一个复制(深拷贝)
  • dict1.clear()清空字典
  • dict1[key1] = val1给字典元素赋值(或新增元素)
  • dict1.update(dict2)字典更新合并
  • del dict1['key1']删除字典元素
  • dict1.pop('key1',None)尝试删除字典元素,并接受元素值,如果没有找到,返回指定的默认返回值
  • dict1.popitem()删除并返回字典第一项键值对

字典实现方法库

可以将封装好的方法对象作为值存放在方法字典中,使用时可以根据key获取到需要的方法,实现动态调用

def func1():
    print('dongfengyefang')
def func2():
    print('huaqianshu')
dict1 = {'part1':func1,'part2':func2}
for part in ['part1','part2']:
    dict1[part]()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值