10、字典dict
字典(dict)
字典是有序,键不重复,元素只能是键值对的可变的容器
dict = {'k1':'v1','k2':'v2'}
- 容器
- 元素必须键值对
- 键不重复,重复则会被覆盖
data = {'k1':'1','k1':'2'}
print(data) #{'k1': '2'}
一般什么情况下用到字典?当我们需要表示一组信息时,字典可以表现的更直观
dict = [{'user':'ccc','pwd':'123'},{'user':'ddd','pwd':'asd123'}]
独有功能
info = {'age':'12','name':'admin','status':True}
data1 = info.get('name')
print(data1) #admin
data2 = info.get('email')
print(data2) #None
data3 = info.get('hobby',123)
print(data3) #123
- 所有的键
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = info.keys()
print(data) #dict_keys(['age', 'name', 'pwd'])
#keys()也可以被循环显示
info = {'age':20,'name':'ccc','pwd':'asd123'}
for item in info.keys():
print(item)
- 所有的值
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = info.values()
print(data) #dict_values([20, 'ccc', 'asd123'])
#values()也可以被循环显示
info = {'age':20,'name':'ccc','pwd':'asd123'}
for item in info.values():
print(item)
- 所有的键值
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = info.items()
print(data) #dict_items([('age', 20), ('name', 'ccc'), ('pwd', 'asd123')])
info = {'age':20,'name':'ccc','pwd':'asd123'}
for item in info.items():
print(item)
公共功能
- 长度
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = len(info)
print(data) #3
- 是否包含
info = {'age':20,'name':'ccc','pwd':'asd123'}
d1 = 'name' in info
print(d1) #True
#判断键是否在里面
info = {'age':20,'name':'ccc','pwd':'asd123'}
if 'ccc' in info.values():
print('ccc在里面')
else:
print('ccc不在里面')
- 索引(键)
字典不同于元组和列表,字典的索引是键
info = {'age':12,'status':True,'name':'ccc'}
print(info['age']) #12
print(info['name']) #ccc
print(info['status']) #True
- 根据键 修改值 和 添加值 和 删除键值对
#添加值
info = {'age':12,'status':True,'name':'ccc'}
info['gender'] = '男'
print(info) #{'age': 12, 'status': True, 'name': 'ccc', 'gender': '男'} #修改值
info = {'age':12,'status':True,'name':'ccc'}
info['age'] = 18
print(info) #{'age': 18, 'status': True, 'name': 'ccc'} #删除值
info = {'age':12,'status':True,'name':'ccc'}
del info['age']
print(info) #{'status': True, 'name': 'ccc'}
速度快
info = {
'ccc':['铁锤','肝胆'],
'老大爷':['傻蛋','蠢蛋']
}
if 'ccc' in info:
print('在')
info = {
'ccc':['铁锤','肝胆'],
'老大爷':['傻蛋','蠢蛋']
}
d1 = info['ccc']
d2 = info.get('ccc')
嵌套
- 字典的键必须可哈希(list/set/dict不可哈希)
info = {(11,22):123}
- 字典的值是可以任意类型(这个值是可哈希的,否则会报错)
info ={'k1':{12,2,5},'k2':{'x1':'xxx'}}
10、字典dict的更多相关文章
- day 10 字典dict
添加 xxx[新的key] = value 删除 del xx[key] 修改 xxx[已存在的key] = new_value 查询 xxx.get(key) 1. dict 字典 #### lis ...
- python中的字典(dict),列表(list),元组(tuple)
一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...
- Redis的字典(dict)rehash过程源代码解析
Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...
- 自学Python2.4-基本数据类型-字典dict(objct)
Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...
- python基础2--数据结构(列表List、元组Tuple、字典Dict)
1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...
- Python中字典dict
dict字典 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) ...
- 【Redis源代码剖析】 - Redis内置数据结构之字典dict
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337 今天我们来讲讲Redis中的哈希表. 哈希表在C++中相应的是ma ...
- Python3 字典Dict(十三)
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典是另一种可变容器模型,且可存储任意类 ...
- 人生苦短之我用Python篇(列表list、字典dict、元组tuple、字符串str)
列表 创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_s ...
- python基础——字典dict
1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...
随机推荐
- pyspark Py4JJavaError: Unsupported class file major version 56
在jupyter notebook跑上面的代码的时候报错Py4JJavaError: An error occurred while calling z:org.apache.spark.mllib. ...
- SQL优化汇总
今天面某家公司,然后问我SQL优化,感觉有点忘了,今天特此总结一下: 总结得是分两方面:索引优化和查询优化: 一. 索引优化: 1. 独立的列 在进行查询时,索引列不能是表达式的一部分,也不能是函数的 ...
- 重学c#————struct
前言 简单整理一下struct. 正文 struct 对于struct 而言呢,我们往往会拿class作为对比,但是呢,我们在初学阶段用class来替代struct,struct的存在感越来越低了. ...
- Paint Tool SAI
Paint Tool SAI PC 绘画工具 https://en.wikipedia.org/wiki/Paint_Tool_SAI refs https://www.systemax.jp/en/ ...
- H.265 & H.264
H.265 & H.264 HEVC (H.265) vs. AVC (H.264) https://en.wikipedia.org/wiki/High_Efficiency_Video_C ...
- IM & WebSockets
IM & WebSockets WebSocket API https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API ht ...
- calendar merge date
calendar merge date componentDidMount () { const { monthDays, // monthDates, } = this.props; const d ...
- URLSearchParams & GET Query String & JSON
URLSearchParams & GET Query String & JSON https://developer.mozilla.org/zh-CN/docs/Web/API/U ...
- Dart 处理json,built_value库
原文链接 文档 import 'dart:convert'; main() async { // json 转化为 map String jsonStr = ''' [ {"name&quo ...
- 26_ mysql数据操作语言:DELETE语句
-- DELETE语句 -- 删除10部门中,工龄超过20年的员工记录 DELETE FROM t_emp WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/3 ...