字典(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. vue & async mounted

    vue & async mounted refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  2. Sass && SCSS && Less

    1 1 1 Sass && SCSS && Less 在线SCSS编辑工具: http://www.sassmeister.com/ Sass v3.4.21 1 tu ...

  3. Swift Playground All In One

    Swift Playground All In One Swift 5.3 Playgrounds in Xcode Xcode 11.5 https://developer.apple.com/vi ...

  4. 十三香 & 香料

    十三香 & 香料 十三香原料组成不完全一致, 但有一些香料却是大家都会采用的: 草蔻.砂仁.肉豆蔻.肉桂.丁香. 花椒.大料.小茴香.木香.白芷. 山萘.良姜和姜 王守义十三香 http:// ...

  5. nest cli bug

    nest cli bug Error: Collection "@nestjs/schematics" cannot be resolved. Error: Collection ...

  6. MongoDB 101

    MongoDB 101 Studio 3T https://studio3t.com/academy/ https://studio3t.com/academy/lessons/introducing ...

  7. js & Event Bus

    js & Event Bus global event handler (broadcast / trigger / emit / listen ) // 实现一个 EventBus类,这个类 ...

  8. GitHub Actions

    GitHub Actions CI/CD & testing https://github.com/features/actions refs xgqfrms 2012-2020 www.cn ...

  9. NGK.IO网络安全大会暨区块链安全与应用创新论坛圆满落幕

    近日,NGK.IO网络安全大会暨区块链安全与应用创新论坛于美国McCormick Place国际会议中心圆满落幕. 论坛围绕"进化繁荣发展·安全链接未来"这一主题,由NGK.IO硅 ...

  10. Github Action 快速上手指南

    前言 各位读者,新年快乐,我是过了年匆忙赶回上海努力搬砖的蛮三刀. Github之前更新了一个Action功能(应该是很久以前了),可以实现很多自动化操作.用来替代用户自己设置的自动化脚本(比如:钩子 ...