'''
概念:
字典(dict):  通过键值对 来存储 , {}
'''

# # 取值  通过 键来取
# print(dict1["昵称"])
#
# # print(dict1["李四"])  # 如果 字典没有对应的键,会报错
# print(dict1.get("李四"))  # 如果使用  get的方法(),取键   , 如果不存在就会返回 None, 不会报错

#  字典中字典的取值
# student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}
# print(student["李四"])
# print(type(student["李四"]))
# print(student["李四"]["age"])  # 一层一层的取值
# print(student.get("李四").get("age"))  # get 一样

# 字典的   新增   修改
# dict1 = {}
# dict1["name"] = "张三"
# dict1["name2"] = "张三2"
# dict1["name3"] = "张三3"
# print(dict1)
# dict1["name3"] = "李四"
# print(dict1)

# # 字典的删除
# student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}
# # student.clear()  # 使用  字典.clear()  方法直接清空
# # print(student)
# # del student["张三"]   # 删除时,需要指定 键
# student.pop("李四") # 使用 字典.pop() 方法 需要指定键
# # student.popitem()   #   删除最后一组
# print(student)

# student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}
# # 特殊操作
# s2 = student.copy()
# print(s2)
# s3 = student
# print(id(s3),id(student))

# # 深拷贝和浅拷贝  --- 列表
# l1 = [1,2,3,4,[5,6,7]]
# l2 = l1.copy()   # 浅拷贝
# print(id(l1),id(l2)) # 容器不一样
# print(id(l1[-1]),id(l2[-1]))  # 内层的id是一样的

# import copy
# l3 = copy.deepcopy(l1)  # 深拷贝
# print(id(l1),id(l3)) # 容器不一样
# print(id(l1[-1]),id(l3[-1]))  # 内层的id也是不一样
# l1[0] = 10
# l1[-1][0] = 9
# print(l1,l3)

# student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}

# # dict.fromkeys(seq)   快速将seq 序列值 作为 字典的新键,值默认为None
# a = {}
# b = ["a","b","c"]
# b1 = ("a","b","c")
# b2 = "abc"
# a = dict.fromkeys(b2)
# print(a)

# 字典的遍历

student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}

# for i  in student:  # 默认整个字典,遍历时值为 键
#     print(i)
# for i  in student.keys():  # 指定遍历对象为 字典的键
#     print(i)

# for i  in student.values():  # 指定遍历对象为 字典的值
#     print(i)
# for i,j  in student.items():  # 通过  字典.items()  进行 键值遍历,需要2个参数进行接收
#     print("键为",i)
#     print("值为",j)

# 将 student 字典中的 姓名取出来 组成一个列表
# student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}
# list1 = []
# for i in student.keys():
#     list1.append(i)
# print(list1)

# student = {"张三":{"age":31,"sex":"男"},"李四":{"age":20,"sex":"女"},"王五":{"age":18,"sex":"男"},"陈6":{"age":37,"sex":"女"}}
# # 输出格式为  info = [["张三",31],["李四",20],["王五",18],["陈6",37]
# l1 = []
# for i,j in student.items():
#     li = []
#     li.append(i,)
#     li.append(j["age"])
#     # print(li)
#     l1.append(li)
# print(l1)

'''
现有列表:
info = [[‘亚瑟’,22],[‘甄姬’,20],[‘孙尚香',20]]
将列表的值以{‘亚瑟’:22,’甄姬’:20.......}的格式添加到一个字典
'''
# # 字典添加元素   字典[键] = 值 , 自动添加
# dic = {}
# info = [['亚瑟',22],['甄姬',20],['孙尚香',20]]

# for i in info:
#     # print(i)
#     a = i[0]  # 取键
#     b = i[1]  # 取值
#     # print(i[0],i[1])
#     dic[a] = b
# print(dic)

# 升级
'''
现有列表:
info = [[‘亚瑟’,22],[‘甄姬’,20],[‘孙尚香',20]]
将列表的值以{'亚瑟':{"age":22},’甄姬’:20.......}的格式添加到一个字典
'''
# info = [['亚瑟',22],['甄姬',20],['孙尚香',20]]
# for i in info:
#     dic[i[0]] = {"age":i[1]}
# print(dic)
'''
现有列表:
info = [[‘亚瑟’,22,‘男’],[‘甄姬’,20,‘女’],[‘孙尚香',20,'女']]
将列表的值以{‘亚瑟’: {‘age’: 22, ‘sex’: ‘男’}, ‘甄姬’: {‘age’: 20, ‘sex’: ‘女’}, ‘孙尚香': {'age': 20, 'sex': '女'}}的格式添加到一个字典
'''
# info = [['亚瑟',22,"男"],['甄姬',20,"女"],['孙尚香',20,"女"]]
# for i in info:
#     dic[i[0]] = {"age":i[1],"sex":i[2]}
# print(dic)

# # setdefault的基本用法
# a = {"age":34}
# # a.setdefault("age",56)  # 专门给 字典中不存在的键进行设置默认值,如果已经存在,不修改
# print(a)
# b = "abcdefg"
# # 先将b 转成 字典
# c = dict.fromkeys(b)  # 将b中的字符串分别变成c中的键 值为None
# print(c)
# # 将c的键值 更新到a中去
# a.update(c)
# print(a)

# 字典, 的键不能重复 , 值能重复
a = {"name":123,"name":456}
print(a)

python 基础学习 day6-字典相关推荐

  1. Python基础学习之字典操作

    Python基础学习之字典操作 文章目录 Python基础学习之字典操作 1. 字典的创建 1.1 直接赋值法 1.2 关键字赋值法 1.3 列表转化法 1.4 元素增加法 1.5 元组转化法 1.6 ...

  2. Python基础学习之字典(自用)—henu.hjy

    通过学习菜鸟教程总结的一些易错及值得注意的地方,此处提前表明代码来源!!! 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象集合,字典是无序的对象集合 ...

  3. Python基础学习之字典(Dictionary)

    文章目录 1.什么是Python字典 2.创建Python字典 3.查询Python字典中的值 4.增加Python字典关键字与值 5.更新Python字典中的值 6.删除Python字典元素 7.P ...

  4. Python 基础学习 4 ——字典

    字典由大括号和键值对组成,特点为无序,键唯一 1.字典的创建 1 #直接创建字典 2 dic1={'name':a,'age':18} 3 #通过dict创建字典,输出都为{'name': 'a', ...

  5. 【Python基础学习】基本数据结构:列表、元组、栈、字典、集合与队列

    [Python基础学习]基本数据结构:列表.元组.栈.字典.集合与队列 Python的基本数据结构中,包含了列表.元组等一系列数组式数据结构,但各个结构各有不同.因此单独列出来,分析相同与不同 列表( ...

  6. python自学用什么书好-适合python基础学习的好书籍

    分享几本python基础学习的书籍给大家 <Python编程:从入门到实践> 内容简介:本书是一本针对所有层次的Python 读者而作的Python 入门书.全书分两部分:第一部分介绍用P ...

  7. python开发需要掌握哪些知识-Python基础学习需要掌握哪些知识

    1.1Python的对象 python的内置对象类型有很多,包括数字,字符串,列表,集合,元组,字典等等,在Python中,一切皆对象 pickle腌制--在Python中,如果有一些对象需要持久性存 ...

  8. Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho

    Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...

  9. python基础学习_转行零基础该如何学习python?很庆幸,三年前的我选对了

    这似乎是一个如荼如火的行业,对于一直在思考着转行的我,提供了一个不错的方向. 这个行业当然就是python程序员,真正开始决定转行是在24岁的时候,到现在已经有三年多了,我从零开始,每天用业余两个小时 ...

  10. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

最新文章

  1. R语言ggplot2可视化:ggplot2可视化水平堆叠条形图、并且在每个堆叠条形图的内部居中添加百分比文本标签信息
  2. 【开发环境】戴尔电脑系统重装 ( 下载 Dell OS Recovery Tool 工具 | 使用 Dell OS Recovery Tool 工具制作 U 盘系统 | 安装系统 )
  3. mac OS X中升级php5.5至php5.6 or php7
  4. 聊聊flink的CheckpointScheduler 1
  5. vuex 管理vue-router的传值
  6. 更新Svn客户端后,右键菜单中没有TortoiseSVN
  7. java找不到配置文件_Java项目读取配置文件时,找不到指定的文件???
  8. 0基础可以学Web前端吗?如何快速掌握前端开发技能?
  9. java 时间戳_Java并发编程之CAS三CAS的缺点 及解决办法
  10. AI技术宅:女神说什么,听我的!
  11. (四)伪分布式下jdk1.6+Hadoop1.2.1+HBase0.94+Eclipse下运行wordCount例子
  12. 将pdf转换成excel能用的转换软件
  13. 使用Java的JNI调用C
  14. 学习一门技术不能浅尝遏止
  15. 5miles:这家电商公司,想做推动区块链技术落地的标杆
  16. 因服务器升级维护平安京怎么办,阴阳师12月31日维护更新公告_阴阳师12月31日更新了什么_玩游戏网...
  17. 分享一篇牛人的工作总结
  18. 中国石油大学远程教育《大学英语(四)》第二阶段在线作业
  19. Vue+Gojs实现流程图demo
  20. sklearn机器学习:岭回归Ridge

热门文章

  1. C#阿里云OSS——存储
  2. Android 打造万能圆点指示器
  3. 安装CA证书服务的一系列过程
  4. Java Swing 邮箱管理系统(实现注册/登录、收/发邮件)
  5. QNX系统ARM架构上protobuf文件读取乱码
  6. Android 下载APK 安装APK 打开APK
  7. 2022年辽宁最新初级消防员模拟试题题库及答案
  8. Tecnomatix plant simulation基础及Simtalk编程入门视频教程
  9. dvwa下载及安装-图文详解+phpStudy配置
  10. 纯JS Video标签的 视频播放、暂停、结束、长度 事件 Event 信息