字典

字典的创建方式:

# 方式一:
dict1 = dict((("one", 1), ("two", 2), ("three", 3)))
print(dict1)   # {'one': 1, 'two': 2, 'three': 3}# 方式二:
dict2 = dict(one = 1, two = 2, three = 3)
print(dict2)  # {'one': 1, 'two': 2, 'three': 3}# 方式三:
dict3 = {"one":1, "two":2, "three":3}
print(dict3)# 方式四:
dict4 = dict({"one":1, "two":2, "three":3})
print(dict4)

可变、不可变数据类型:

  • 可变数据类型:list,dict,set

  • 不可变数据类型:int bool str tuple

# 字典的键必须是不可变数据类型
dict5 = {[1,2,3]:12, 1:"lisi"}
print(dict5)   # TypeError: unhashable type: 'list'

字典的键必须唯一:

# 字典的键必须唯一  否则后边键的值会把前边同名键的值覆盖掉
dict6 = {1:1, 1:2, 2:3}
print(dict6)   # {1: 2, 2: 3}

dict7 = {"name":"张三", "age":18}
dict7["sex"] = "男"   # 有则改,无则加
dict7["name"] = "李四"  # {'name': '李四', 'age': 18, 'sex': '男'}
print(dict7)        # {'name': '张三', 'age': 18, 'sex': '男'}# 设置默认值  setdefault   有则不变,无则增加
dict7.setdefault("hobby")   # 不设置值,默认为None
print(dict7)       # {'name': '李四', 'age': 18, 'sex': '男', 'hobby': None}dict7.setdefault("hobby", "球类运动")   # 有则不变
print(dict7)       # {'name': '李四', 'age': 18, 'sex': '男', 'hobby': None}

# pop   根据字典的键删除数据,没有指定的键则报错
dict7.pop("hobby")
print(dict7)  # {'name': '李四', 'age': 18, 'sex': '男'}# 删除不存在的键报错
dict7.pop("hobby")
print(dict7)    # KeyError: 'hobby'ret = dict7.pop("hobby", "没有此键")
print(ret)    # 没有此键# clear  清空
dict7.clear()
print(dict7)   # {}# del
del dict7["name"]
print(dict7)# 删除不存在键报错
del dict7["name"]
print(dict7)   # KeyError: 'name'

改 直接给相应的键赋值

dict8 = {"name":"张三", "age":18}
dict8["name"] = "李四"
print(dict8)   # {'name': '李四', 'age': 18}

dict8 = {"name":"张三", "age":18}
l1 = dict8.get("name")
print(l1)   # 张三# 想要获取的键不存在,使用get不会报错,默认返回None
l2 = dict8.get("sex")
print(l2)  # None# 指定没有相应键时的返回值
l3 =dict8.get("sex", "没有获取到")
print(l3)  # 没有获取到# keys
keys = dict8.keys()
print(keys)   # dict_keys(['name', 'age'])
print(list(keys))  # ['name', 'age']# 获取字典的key
for key in dict8.keys():print(key)# 获取字典的value
for value in dict8.values():print(value)for i in dict8.items():print(i)    # 以key,value的形式放在元组中('age', 18)# 通过元组拆包获取key,value
for key, value in dict8.items():print(key,value)

python基础-字典的增删改查相关推荐

  1. python图书管理系统增删改查_python基础-字典的增删改查

    字典 字典的创建方式: # 方式一: dict1 = dict((("one", 1), ("two", 2), ("three", 3)) ...

  2. python中字典的增删改查及其他常用操作

    本文原创,版权属作者个人所有,如需转载请联系作者本人.Q&微:155122733 ------------------------------------------------------- ...

  3. python字典进行大写转化_python之字典的增删改查

    1.列表的缺点 列表可以存储大量的数据,数据之间的关联性不强. 列表的查询速度比较慢. 容器型数据类型:dict 2.数据类型的分类(可变与不可变) 可变(不可哈希)的数据类型:list dict s ...

  4. 字典,和字典的增删改查

    1. 什么是字典 字典是以key:value的形式来保存数据 用{}表示. 存储的是key:value 2. 字典的增删改查(重点) 1. 添加 dic[新key] = 值 setdefault() ...

  5. 字典(dict),增删改查,嵌套

    一丶字典 dict 用{}来表示  键值对数据  {key:value}  唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...

  6. MySQL基础知识之增删改查

    MySQL基础知识之增删改查 MySQL基本语法: 1.创建库:create database 库名: 创建带编码格式的库:create database 库名 character set 编码格式: ...

  7. 基于python的SQLite数据库增删改查

    与其他数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是一种嵌入式数据库,他的数据库就是一个文件.SQLite将整个数据库,包括定义.表.索引以及数据本身,作为一个单独的.可 ...

  8. python+sqlite3-数据库增删改查操作

    python+sqlite3-数据库增删改查操作 目录 python+sqlite3-数据库增删改查操作 01.sqlite数据库 02.下载数据库可视化工具 03.创建数据库 04.python连接 ...

  9. # 遍历删除字典元素_Python基础知识:快速了解字典的增删改查以及自定义不可变字典...

    字典在很多的高级语言中是很常见的,java中的hashmap,php中的键值对的数组,python中的是dict,它是一个可变的容器模型,可以存储任意的数据结构,但是容器中的每个元素都是以键值对的形式 ...

最新文章

  1. python注释#、Ctrl+/
  2. MPLS的简单配置4
  3. Python3.2 --- Print函数用法
  4. C++读取txt中数据的两种方法
  5. Oracle RAC 客户端连接负载均衡(Load Balance)
  6. DateFormat类的format方法和parse方法
  7. scala教程之:可见性规则
  8. python具体工作内容_有没有人知道公司里用python工作的内容有什么
  9. oform java_客户端表单通用验证checkForm(oForm)(1)
  10. 知乎万赞回答:什么工具能做可视化大屏,还能做数据地图?
  11. 56. Yii Modules
  12. 基于决策树的保险案列
  13. 数据挖掘 姓名用字特点 目录 1. 姓名用字特点 1 2. 男性姓名专用字210个(三字词,双字词都适用) 1 2.1. 男性姓名专用字 双字词适用317个 1 3. 女人姓名用字 2 3.1.
  14. 【材料】ABS、ABS+PC、PA、PC、PMMA、POM、PP、PE、PPO、PVC、TPE和TPO材料优缺点
  15. 那些年我们用过的SSD
  16. JavaScript:分支流程控制switch语句详解
  17. centos7 安装hashcat
  18. ddr2之OCD、ODT和Post CAS技术
  19. 一定要讲给孩子们的20个小故事
  20. C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。

热门文章

  1. javascript-内置对象-正则
  2. mysql按月归档日志表
  3. 使用System.Timers.Timer类实现程序定时执行
  4. angular6--创建项目
  5. C++ 为什么要用覆盖(学习笔记)
  6. 卸载Oracle数据库(有图有真相)
  7. mysql replication
  8. 读《纸本书变电子书是很小的事》有感
  9. 面试官:怎么改进哈希算法实现负载均衡的扩展性和容错性?我:...
  10. NGINX进程的基本操作和基础知识