python笔记(9)Dictionary(字典)

目录

创建字典

取值

修改字典

删除

内置函数和方法


创建字典

字典键值和value用:隔开,键值是不可变的,而且必须是唯一的,值可以变,可以是任意类型

python 复制代码
dict = {key1 : value1, key2 : value2 }

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

python 复制代码
dict={'张三':18,'李四':20,'王五':22,'张三':888}
print(dict['张三'])#输出888

2)键必须不可变,所以可以用数字,字符串或元组充当,不可以用列表,集合,字典因为这些是可变类型

取值

python 复制代码
dict={'张三':18,'李四':20,'王五':22,555:888}
print(dict['张三'])
print(dict[555])
运行结果:
18
888

修改字典

python 复制代码
dict={'张三':18,'李四':20,'王五':22,555:888}
dict['张三']=80
print(dict['张三'])#结果为80

删除

python 复制代码
dict={'张三':18,'李四':20,'王五':22,555:888}
del dict['张三']  #删除元素
print(dict)
dict.clear  #删除字典
del dict #删除字典
print(dict)

运行结果
{'李四': 20, '王五': 22, 555: 888}
<class 'dict'>

内置函数和方法

内置函数及描述 样例
len(dict) #计算字典元素个数,即键的总数 python dict={'zhaoliu':18,'李四':20,'王五':22,'张三':888} print(len(dict))#输出字典长度4
str(dict) #以字符串的形式输出字典。字典不能被打印,字符串可以
dict.clear() #删除字典所有元素
dict.copy() #返回一个复制的字典
dict.fromkeys(seq) #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key,default=None) #返回指定键的值,如果值不在字典中返回default值 python dict={'zhaoliu':18,'李四':20,'王五':22,'张三':888} print(dict.get('ddd','hahaha'))#输出hahaha
key in dict #如果键在字典dict里返回true,否则返回false
dict.items() #以列表返回可遍历的(键, 值) 元组数组
dict.keys() #以列表返回一个字典所有的键
dict.setdefault(key,default=None) #和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default python dict={'zhaoliu':18,'李四':20,'王五':22,'张三':888} dict.setdefault('赵六',18) print(dict) #运行结果为: {'zhaoliu': 18, '李四': 20, '王五': 22, '张三': 888, '赵六': 18}
dict.updat(dict2) #把字典dict2的键/值对更新到dict里 python dict={'zhaoliu':18,'李四':20,'王五':22,'张三':888} dict2={'赵六':18} dict.update(dict2) print(dict) #运行结果为: {'zhaoliu': 18, '李四': 20, '王五': 22, '张三': 888, '赵六': 18}
dict.values() #以列表返回字典中的所有值 python dict={'zhaoliu':18,'李四':20,'王五':22,'张三':888} for value in dict.values(): print(value) #运行结果为: 18 20 22 888
相关推荐
曲幽1 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱11 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵12 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio16 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636717 小时前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
LinXunFeng1 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github