字典(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的更多相关文章

  1. day 10 字典dict

    添加 xxx[新的key] = value 删除 del xx[key] 修改 xxx[已存在的key] = new_value 查询 xxx.get(key) 1. dict 字典 #### lis ...

  2. python中的字典(dict),列表(list),元组(tuple)

    一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...

  3. Redis的字典(dict)rehash过程源代码解析

    Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...

  4. 自学Python2.4-基本数据类型-字典dict(objct)

    Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...

  5. python基础2--数据结构(列表List、元组Tuple、字典Dict)

    1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...

  6. Python中字典dict

    dict字典 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) ...

  7. 【Redis源代码剖析】 - Redis内置数据结构之字典dict

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337 今天我们来讲讲Redis中的哈希表. 哈希表在C++中相应的是ma ...

  8. Python3 字典Dict(十三)

    Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典是另一种可变容器模型,且可存储任意类 ...

  9. 人生苦短之我用Python篇(列表list、字典dict、元组tuple、字符串str)

    列表 创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_s ...

  10. python基础——字典dict

    1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...

随机推荐

  1. pyspark Py4JJavaError: Unsupported class file major version 56

    在jupyter notebook跑上面的代码的时候报错Py4JJavaError: An error occurred while calling z:org.apache.spark.mllib. ...

  2. SQL优化汇总

    今天面某家公司,然后问我SQL优化,感觉有点忘了,今天特此总结一下: 总结得是分两方面:索引优化和查询优化: 一. 索引优化: 1. 独立的列 在进行查询时,索引列不能是表达式的一部分,也不能是函数的 ...

  3. 重学c#————struct

    前言 简单整理一下struct. 正文 struct 对于struct 而言呢,我们往往会拿class作为对比,但是呢,我们在初学阶段用class来替代struct,struct的存在感越来越低了. ...

  4. Paint Tool SAI

    Paint Tool SAI PC 绘画工具 https://en.wikipedia.org/wiki/Paint_Tool_SAI refs https://www.systemax.jp/en/ ...

  5. H.265 & H.264

    H.265 & H.264 HEVC (H.265) vs. AVC (H.264) https://en.wikipedia.org/wiki/High_Efficiency_Video_C ...

  6. IM & WebSockets

    IM & WebSockets WebSocket API https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API ht ...

  7. calendar merge date

    calendar merge date componentDidMount () { const { monthDays, // monthDates, } = this.props; const d ...

  8. URLSearchParams & GET Query String & JSON

    URLSearchParams & GET Query String & JSON https://developer.mozilla.org/zh-CN/docs/Web/API/U ...

  9. Dart 处理json,built_value库

    原文链接 文档 import 'dart:convert'; main() async { // json 转化为 map String jsonStr = ''' [ {"name&quo ...

  10. 26_ mysql数据操作语言:DELETE语句

    -- DELETE语句 -- 删除10部门中,工龄超过20年的员工记录 DELETE FROM t_emp WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/3 ...