dict的使用
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的使用的更多相关文章
- tuple放入dict中
tuple放入dict中是否可以正常运行 # 将tuple放入dict中 a = ('AI','Kobe','Yao') b = ('AI',['Kobe','Yao']) dict1 = {'a': ...
- redis数据结构存储Dict设计细节(redis的设计与实现笔记)
说到redis的Dict(字典),虽说算法上跟市面上一般的Dict实现没有什么区别,但是redis的Dict有2个特殊的地方那就是它的rehash(重新散列)和它的字典节点单向链表. 以下是dict用 ...
- python list dict 去重的两种方式
def dedupe(items, key=None): seen = set() for item in items: val = item if key is None else key(item ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- python dict clear只能删除一层,不能够递归删除。
void PyDict_Clear(PyObject *op) { dictobject *mp; dictentry *ep, *table; int table_is_malloced; Py_s ...
- Python中内置数据类型list,tuple,dict,set的区别和用法
Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...
- python第一天 - dict
dict key-value集合. d = { ': 'a', ': 'b', ': 'c' } (一).获取集合长度:len(d) = 3(二).获取值: 方式一:d[key];例:d['1'] = ...
- python利用dict模拟switch
pytho本身并未提供switch语句,但可以通过dict来模拟switch, #方法1 def add(x,y): return x+y def dec(x,y): return x-y def m ...
- python-list tuple dict set
1:删除一个列表末尾的元素 pop方法 >>> a [1, 'Jack', 2, 3, 2] >>> a.pop() >>> a [1, 'Jac ...
- python基础之dict、set及字符
python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...
随机推荐
- 分析一下 原型模式的 UML 类图 。 复制对象, 深浅拷贝 月经贴 ,请回避
- AVL练习题——宠物收养所
题目描述 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出 ...
- JavaFx图形界面开发
相关学习教程:http://www.javafxchina.net/blog/docs/ ,makery写的教程:https://code.makery.ch/zh-cn/library/javafx ...
- postman的简单介绍及运用
postman下载地址 https://www.getpostman.com/downloads/ postman的工作原理:发送请求给服务器,服务器处理postman发送的数据然后返回给postma ...
- STM8 ADC1连续模式切换通道干扰问题的解决
初始化ADC1: void Init_ADC(void){ GPIO_Init(GPIOD, (GPIO_Pin_TypeDef)(GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_5|G ...
- IO博客专栏
1. IO概览 2. 字符流与字节流的区别
- django用户认证的session的应用
from django.shortcuts import render,redirect def login(request): if request.method=='GET': return re ...
- 用Java实现一个简单的DBMS(总结)
时间:2020/1/16 写这个DBMS(说DBMS夸张了,应该是一个控制台程序)的起因是数据库实践老师布置的一个大作业,先贴上GitHub地址: https://github.com/machi12 ...
- 通过openjdk源码分析ObjectMonitor底层实现
通过openjdk源码分析ObjectMonitor底层实现 Hotspot JDK只是部分开源,将底层的调用C++的native方法的具体实现屏蔽了,而openjdk则将这部分也开源了,接下来我们通 ...
- 64位Win7下用VS2010编译OpenSSL
http://blog.csdn.net/henter/article/details/8364532 首先要说明,如果不想自己编译OpenSSL,可以到 http://slproweb.com/pr ...