python dict如何定义


Posted in Python onSeptember 02, 2020

1.字典的定义

字典的格式:字典名 = {key1:value1, key2:value2,...}

字典是无序的,是可变的数据类型

字典的key不能是可变的数据类型(列表 字典)

字典的key是不能重复的,但value可以

例:my_dict = {"name": "小明", "age": 19}

定义一个空的字典:my_dict = {}   或   my_dict = dict()

2.字典的常见操作

定义一个字典

my_dict = {"name": "小明", "age": 18, "no": "007"}

(1)查看元素(通过key 获取value)

value = my_dict["no"]
print(value)

(2)修改元素

如果key 存在 那么会修改key 对应的value

如果key 不存在 那么将把这个键值对添加到字典中

# key 存在
my_dict["age"] = 19
print(my_dict)
# key不存在
my_dict["test"] = "测试"
print(my_dict)

相关推荐:《Python教程》

(3)删除元素

del 删除指定的元素 格式:del 字典名[key] 删除元素(key-value)

del my_dict["name"]
print(my_dict)

clear() 清空字典中所有的元素

my_dict.clear()
# 等价于{}
print(my_dict)

(4)计算元素的个数 len()

l = len(my_dict)
print(l)

(5)返回一个包含字典的所有key的列表   keys()

keys_list = my_dict.keys()
print(list(keys_list))

(6)返回一个包含字典所有value的列表   values()

values_list = my_dict.values()
print(list(values_list))

(7)返回一个包含所有(键、值)元组的列表  items()

items_list = my_dict.items()
print(list(items_list))

(8)判断key是否存在

in 存在 not in 不存在

if "name" in my_dict:
    print("name存在")

(9)setdefault

如果my_dict.setdefault(key)

如果key存在 得到value

如果key不存在 得到None 没有找到

value = my_dict.setdefault("name")
print(value)

如果my_dict.setdefault(key, value1) value1 默认值

如果key存在 得到value

如果key不存在 得到的value1 还会把(key-value1)组成一个新的键值对添加到字典中

value = my_dict.setdefault("name1", "哈哈")
print(value)
print(my_dict)

(10)get

my_dict.get(key)

如果key 存在 得到value

如果key 不存在 得到None 没有找到

ret = my_dict.get("gender")
print(ret)
my_dict.get(key, value1)

如果key存在 得到value

如果key不存在 得到value1 不会对字典进行任何操作

ret = my_dict.get("name1", "哈哈")
print(ret)
print(my_dict)

3.字典的遍历

定义一个字典

my_dict = {"name": "老王", "age": 22, "no": "009"}

(1)遍历key

for key in my_dict.keys():
    print(key)

(2)遍历value

for value in my_dict.values():
    print(value)

(3)遍历items

for item in my_dict.items():
    print(item)

(4)遍历items得到对应的key value

for key, value in my_dict.items():
    print(key, value)

(5)enumerate()实现带下标索引的遍历

通过遍历可以获取字符串,列表,元组得到对应的元素和元素的下标索引

my_list = ["fgg", "rth", "rkz"]
for index, value in enumerate(my_list):
    print(index, value)

结果:

fgg
rth
rkz

到此这篇关于python dict如何定义的文章就介绍到这了,更多相关python dict怎么定义内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python在windows命令行下输出彩色文字的方法
Mar 19 Python
python实现自动重启本程序的方法
Jul 09 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
一篇文章快速了解Python的GIL
Jan 12 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
Python中print函数简单使用总结
Aug 05 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
keras 解决加载lstm+crf模型出错的问题
Jun 10 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 #Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 #Python
Python内置函数property()如何使用
Sep 01 #Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 #Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 #Python
解决python便携版无法直接运行py文件的问题
Sep 01 #Python
django有哪些好处和优点
Sep 01 #Python
You might like
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
NodeJS实现客户端js加密
2017/01/09 NodeJs
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python实现自动解数独小程序
2019/01/21 Python
基于python历史天气采集的分析
2019/02/14 Python
python实现小世界网络生成
2019/11/21 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
北京天润融通.net面试题笔试题
2012/02/20 面试题
旷课检讨书大全
2014/01/21 职场文书
高中生职业规划范文
2014/03/09 职场文书
公积金接收函格式
2015/01/30 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
员工规章制度范本
2015/08/07 职场文书
商场广播稿范文
2015/08/19 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js