python day05--字典
2024-09-25 19:39:55
一、字典结构
{key:valu}
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据。
dic = {123: 456, True: 999, "id": 1, "name": 'sylar', "age": 18, "stu": ['帅
哥', '美⼥女女'], (1, 2, 3): '麻花藤'}
print(dic[123])
print(dic[True])
print(dic['id'])
print(dic['stu'])
print(dic[(1, 2, 3)])
# 不不合法
# dic = {[1, 2, 3]: '周杰伦'} # list是可变的. 不不能作为key
# dic = {{1: 2}: "哈哈哈"} # dict是可变的. 不不能作为key
dic = {{1, 2, 3}: '呵呵呵'} # set是可变的, 不不能作为key
二、字典的操作
1.增
dic = {}
dic['name'] = '周润发' # 如果dict中没有出现这个key, 就会新增一个key-value的组
合进dict
dic['age'] = 18
print(dic)
# 如果dict中没有出现过这个key-value. 可以通过setdefault设置默认值
dic.setdefault('李嘉诚') # 也可以往⾥里里⾯面设置值.
dic.setdefault("李嘉诚", "房地产") # 如果dict中已经存在了了. 那么setdefault将不会起作用
print(dic)
2.删
ret = dic.pop("jay")
print(ret)
del dic["jay"]
print(dic)
# 随机删除.
ret = dic.popitem()
# 清空字典中的所有内容
dic.clear()
3.改
dic = {"id": 123, "name": 'sylar', "age": 18}
dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
dic.update(dic1) # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增.
print(dic)
print(dic1)
4.其他操作
dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科⽐比"}
print(dic.keys()) # dict_keys(['id', 'name', 'age', 'ok']) 不不⽤用管它是什么.当成list来用就⾏
for key in dic.keys():
print(key)
print(dic.values()) # dict_values([123, 'sylar', 18, '科⽐比']) ⼀一样. 也当
list来⽤用
for value in dic.values():
print(value)
print(dic.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age',18), ('ok', '科⽐比')]) 这个东⻄西也是list. 只不过list中装的是tuple
for key, value in dic.items(): # ?? 这个是解构
print(key, value)
# 解构
a, b = 1, 2
print(a, b)
(c, d) = 3, 4
print(c, d)
e, f = [1, 2, 3] # 解构的时候注意数量量必须匹配
print(e, f)
最新文章
- 清空表数据 mysql让主键从1开始
- C#------如何判断输入的是否为纯数字
- FP - growth 发现频繁项集
- JavaScript事件委托的技术原理
- 【状态DP】 HDU 1074 Doing Homework
- RBAC打造通用WEB权限
- JAVA编程入门
- @RequestParam加与不加的区别
- Windows系统中监控文件复制操作的几种方式
- C# 语句 分支语句 switch----case----.
- u-boot移植(四)---修改前工作:代码流程分析3---代码重定位
- CH6201 走廊泼水节【最小生成树】
- 前端 HTML body标签相关内容 常用标签 表单标签 form里面的 label标签介绍
- 20169207《Linux内核原理与分析》第十周作业
- iphone 开发中使用zbar时遇到的几个典型问题解决方法。
- (转)使用异步Python 3.6和Redis编写快速应用程序
- vs2010开发环境恢复--(mysql,数据文件可直接拷贝,并可用navicat直接管理)
- SOA和微服务到底是什么关系
- nodejs 接收上传的图片
- 用 Visual Studio 2012 调试你的ASP程序
热门文章
- Ubuntu中安装deb包程序
- python3+paramiko实现ssh客户端
- jsp 内置对象(五)
- Oracle如何解决日期格式“01-3月 -18”的显示问题(3种处理方式)
- Guidelines for Writing a Good NIPS Paper
- pycharm(Tip of Day)
- Vue 全家桶
- 解决Tomcat v6.0 Server at localhost was unable to start within 45 seconds
- day36 数据库表操作 数据类型 完整性约束
- java 实现简单的顺序队列