python基础-字典dict

1、字典dict的概念和特点

概念:是一种无序的可变集合,用于存储键值对。

特点:

  • 用大括号 { } 标识;
  • 字典中的键必须唯一且不可变(如字符串、整数、元组),值可以是任意类型的对象。

2、字典的创建

2.1 对象式
dict1 = {}
2.2 函数式
dict1 = dict()  # 传参原则:能转为键值对形式;参数: **kwarg
# 例子:
dict1 = dict(name = "张三",age = 12)
print(dict1)  # {'name': '张三', 'age': 12}

3、字典的操作

字典是一个键值对的容器,所以可以进行各种操作;

3.1 dict的增:
dict名[key] =value通过key 直接赋值value; --- 也具有改的功能
3.2 dict的改:        
方法作用
dict1.update( **keywords)

通过key修改value数据 ---- 也具有增的功能

注意:  key不要添加引号!

dict1 = dict(name = "张三",age = 12)
dict1.update(haha ='嘿嘿') #修改方法实现了新增操作!
print(dict1) # {'name': '张三', 'age': 12, 'haha': '嘿嘿'}
3.3 dict的删:
方法作用
pop(key)删除key对应的键值对;
popitem()

删除当前顺序的最后一个键值对;

返回被弹出的元素;

clear()清空字典;
关键字作用
del 字典名[key]

del 关键字 :删除k-v对;

例: del dict1[key]   删除k-v对 ;  del dict1 销毁字典

3.4 dict的查:
方法       作用
get(key [,defaultVal ])

通过key获取value; 

注意: key不存在,不会抛异常,还可以设置默认值返回;

items()

返回一个(key,value)元组的列表形式;  --- 见下面案例!

类型:<class 'dict_items'>  字典视图对象

keys()

返回字典的所有的key ;

类型为 <class 'dict_keys'> 字典key对象  

values()

返回字典的所有的value;

类型为 <class 'dict_values'> 字典value对象

下标访问作用
value = dic[key]

通过下标key返回value; 

注意:key不存在,抛异常。

dict1 ={'c': '11', 'b': 22, 'a': '嘿嘿'}
res = dict1.items()
# items的返回类型是dict_items -- 字典视图对象
print(res)       # dict_items([('c', '11'), ('b', 22), ('a', '嘿嘿')])
print(type(res))              #<class 'dict_items'>
print(type(res) is list)      # False
print(dict1.keys())           # dict_keys(['c', 'b', 'a'])
print(type(dict1.keys()))     # <class 'dict_keys'>
print(dict1.values())         # dict_values(['11', 22, '嘿嘿'])
print(type(dict1.values()))   # <class 'dict_values'>
3.5 其它:
方法作用
dict1.copy()实现复制;返回 新的 字典; --- 浅拷贝
dict2 = dict1 直接赋值方式 :实现了copy , ---- 浅拷贝
setDefault(key ,defaultVal )添加k-v,设置默认值;
关键字作用
key in  dict1判断key 是否在 字典中 , 返回 bool值
 扩展 :

  Python3有copy内置模块:可以实现复制 

  • 先导入 import  copy 
copy.copy(obj)浅拷贝
copy.deepcopy(obj)深拷贝

4、遍历:

使用for循环遍历:

dict1 = {'b': 22, 'a': 11, 'c': 33}
for item in dict1:
    # key 是 item  ,value 是 dict1[item]
    print(item, " --- ", dict1[item]);
## b  ---  22
## a  ---  11
## c  ---  33
dict1 = {'b': 22, 'a': 11, 'c': 33}
for item in dict1.items():
    print(item[0],item[1]);
  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值