Python字典是可变类型数据,可以存储任意对象,如字符串,数字,元组,列表等。

字典的创键

字典有键key和值value组成,使用键值对链接:,字典也称为关联数组或哈希表。

dict_person = {"name": "link", "age": 18}

注意:每个键和值使用:隔开,使用逗号进行隔开,整体放在花括号里面{},键必须独一无二,而且键必须是不可变数据类型,值则不必。

获取字典值

  • 使用中括号[key]获取值
  • dict.get("key")获取值
dict_person = {"name": "link", "age": 18}

print('dict_person["name"]', dict_person["name"])
print('dict_person.get("age")', dict_person.get("age"))

注意:key不存在时,使用get("key")返回None, 而使用[]直接报错。

获取字典的长度

dict_person = {"name": "link", "age": 18}
print("dict_person字典的长度是:", len(dict_person))

注意: 字典的长度其实就是多少个key

修改字典

class_dict = {"name": "张俊", "class": "三年一班"}

# 修改为 三年二班
class_dict["class"] = "三年二班"
print(class_dict)

注意: 修改字典值得时候,如果修改的键存在则是修改键对应的值,不存在则是增加新的键,值。

删除字典

  • pop(key) 删除指定键是key的条目
  • del 删除整个字典
  • clear 清空字典
  • del dict["key"] 删除指定键是key的条目
class_dict = {"name": "张俊", "class": "三年一班", "age": 18}

# 删除键是"class"的条目
del class_dict["class"]
# 也可以使用pop, 如果删除的键不存在直接报错
# class_dict.pop('class')
print(class_dict)
# 清空字典
class_dict.clear()
print(class_dict)
# 删除整个字典
del class_dict

字典内置方法

  • dict.fromkeys() 创建新字典,以seq作为键,val作为值
dict_1 = {}
dict_2 = dict_1.fromkeys("a", 11)
print(dict_2)
  • dict.keys() 列表形式返回字典所有的key
person = {"name": "张三", "age": 18, "adress": "武当山"}

print(person.keys())
  • dict.values() 列表形式返回字典所有的values
person = {"name": "张三", "age": 18, "adress": "武当山"}
print(person.values())
  • dict.items() 返回可遍历键,值
person = {"name": "张三", "age": 18, "adress": "武当山"}

for k, v in person.items():
print(k, v)

后续会讲解数据类型的深拷贝和浅拷贝。

dict的使用的更多相关文章

  1. tuple放入dict中

    tuple放入dict中是否可以正常运行 # 将tuple放入dict中 a = ('AI','Kobe','Yao') b = ('AI',['Kobe','Yao']) dict1 = {'a': ...

  2. redis数据结构存储Dict设计细节(redis的设计与实现笔记)

    说到redis的Dict(字典),虽说算法上跟市面上一般的Dict实现没有什么区别,但是redis的Dict有2个特殊的地方那就是它的rehash(重新散列)和它的字典节点单向链表. 以下是dict用 ...

  3. python list dict 去重的两种方式

    def dedupe(items, key=None): seen = set() for item in items: val = item if key is None else key(item ...

  4. list,tuple,dict,set常用方法

    Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...

  5. python dict clear只能删除一层,不能够递归删除。

    void PyDict_Clear(PyObject *op) { dictobject *mp; dictentry *ep, *table; int table_is_malloced; Py_s ...

  6. Python中内置数据类型list,tuple,dict,set的区别和用法

    Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...

  7. python第一天 - dict

    dict key-value集合. d = { ': 'a', ': 'b', ': 'c' } (一).获取集合长度:len(d) = 3(二).获取值: 方式一:d[key];例:d['1'] = ...

  8. python利用dict模拟switch

    pytho本身并未提供switch语句,但可以通过dict来模拟switch, #方法1 def add(x,y): return x+y def dec(x,y): return x-y def m ...

  9. python-list tuple dict set

    1:删除一个列表末尾的元素 pop方法 >>> a [1, 'Jack', 2, 3, 2] >>> a.pop() >>> a [1, 'Jac ...

  10. python基础之dict、set及字符

    python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...

随机推荐

  1. Scala 学习(4)之「类——基本概念2」

    目录 内部类 extends override和super override field isInstanceOf和asInstanceOf getClass和classOf 内部类 import s ...

  2. FindBugs报错

    FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查 ...

  3. 整理OD一些快捷键和零碎知识点

    第一次记录:2019.9.15 完成了近期基本知识点的记录 第二次记录:2019.9.16 更新VB和的Delphi的汇编代码特点 介绍几个快捷键: Alt+B 断点编辑器,空格键可切换断点状态 ct ...

  4. 提高Dom 访问效率

    在浏览器中对于Dom的操作和普通的脚本的操作处于两个不同的dll中,两个dll的交互是比较耗时的,优化对Dom的操作可以提高脚本的执行速度. JS访问DOM是很慢的,尽量不要用JS来设置页面 布局 有 ...

  5. 填充区域 (Populating an Area) | 使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼

  6. basic-pentesting-1 靶机提权

    原文地址:https://www.payload.com.cn/   basic-pentesting-1 下载地址: https://www.vulnhub.com/entry/basic-pent ...

  7. Centos与Ubuntu

    共同点 1.两个系统都分别有桌面系统与服务器系统,不过ubuntu的桌面从外观上来看要比centos的漂亮 不同点 1.centos中新建的普通用户是没有sudo权限的,如果想让普通用户拥有sudo权 ...

  8. ios--->上下拉刷新控件MJRefresh

    上下拉刷新控件MJRefresh 一.类结构 MJRefreshComponent.h MJRefreshHeader.h MJRefreshFooter.h MJRefreshAutoFooter. ...

  9. BP的matlab实现

    %2015.04.26 Kang Yongxin ----v 2.0 %完成作业中BP算法,采用批量方式更新权重 %% %输入数据格式 %x 矩阵 : 样本个数*特征维度 %y 矩阵 :样本个数*类别 ...

  10. springmvc中applicationapplicationContext头部代码

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...