字典
字典是以键值对的形式存在的 key:value,键是不可变的唯一的,值不是
dict():创建一个空子典
a = {}:也是创建一个空子典
dict_object={}
dict_object. clear ():清空字典
del dict_object:删除字典
字典的特性
- 字典的值可以是任何 python 对象,也可以是标准对象,也可以是用户定义的,但是键不行
- 两个重要的特性
- 同一个键不允许出现两次,如果同一个键出现两次,那么取值会取最后一个值
- 键必须不可变,所有可以用数字,字符去,元组充当,列表不行
- len (dict):计算字典元素个数,即键的总数
- str(dict):将字典转换成字符串
- type(dict):返回字典类型 class dict
字典内置方法
- dict. clear ():清空字典
- dict. copy ():浅复制字典
- dict. fromkeys ():创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
# dict.fromkeys('sep', value)
# fromkeys的第一个值sep是一个不可变的序列,value是值
# 将序列里面的每一个值作为键key,将value作为值value
# fromkeys不指定值默认为none
sep = ('name','age','cs')
dict1 = dict.fromkeys(sep)
print(str(dict1))
# 值{'name': None, 'age': None, 'cs': None}
dict3 = dict.fromkeys(sep)
print(dict3)
dict2 = dict.fromkeys(sep, 10)
print(dict2)
- dict. get (key, default=None):返回指定键的值,如果键不再字典中返回 default 设置的默认值
- key in dict:如果键在字典中则返回 true,否则返回 false
- dict. items ():以列表返回一个视图对象
# dict.keys()\dict.values()\dict.items(),返回的都是视图对象
# 视图对象不是列表不支持索引,但是可以通过list()进行转换
# 不能对视图对象进行修改,因为视图对象都只是可读的
dict1 = {'name':'zhangsan', 'age': 18}
print(dict1.items)
# <built-in method items of dict object at 0x000001E644A2FA80>
print(dict1.items())
# dict_items([('name', 'zhangsan'), ('age', 18)])
- dict. keys ()与 dict. values ()
dict1 = {'name':'zhangsan', 'age': 18}
print("这是keys():",dict1.keys())
print("这是values():",dict1.values())
print("通过list转换")
list_keys=list(dict1.keys())
print("keys转换成list:",list_keys)
list_values= list(dict1.values())
print("values转换成list:",list_values)
- dict. setdefalut (key, defalut=None)
- 与 get()类似,但如果键不存在与字典中,会将添加键值设置为 defalut
- dict. update (dict 2):将字典的键值对更新到 dict 中
- pop (key[, defalut]):删除字典 key 所对应的值,返回被删除的值
- popitem ():返回并删除字典中的最后一对键和值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!