Python基本数据类型之字典dict
字典dict
是一个键(key)值(value)对,结构为{},大括号
创建字典
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
info = { # k1 k2 k3 k4为键 "k1" : 18 , # :后面分别为值 逗号为分隔符 "k2" : True , # 数字,布尔值也可以作为键 "k3" : [ 11 , [], (), 22 , 33 , { 'kk1' : 'vv1' , 'kk2' : 'vv2' , 'kk3' : ( 11 , 22 ), } ], "k4" : ( 11 , 22 , 33 , 44 ) } |
字典的值可以是任何值
- 列表,字典不能作为字典的key
- 字典是无序的
- 字典不能被切片,因为它是无序的;可根据索引取值,查找,找到元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
info = { "k1" : 18 , "k2" : True , "k3" : [ 11 , [], (), 22 , 33 , { 'kk1' : 'vv1' , 'kk2' : 'vv2' , 'kk3' : ( 11 , 22 ), } ], "k4" : ( 11 , 22 , 33 , 44 ) } v = info[ 'k1' ] print (v) $ 18 |
字典是支持del 删除的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
info = { "k1" : 18 , "k2" : True , "k3" : [ 11 , [], (), 22 , 33 , { 'kk1' : 'vv1' , 'kk2' : 'vv2' , 'kk3' : ( 11 , 22 ), } ], "k4" : ( 11 , 22 , 33 , 44 ) } del info[ 'k1' ] print (info) $ { 'k4' : ( 11 , 22 , 33 , 44 ), 'k3' : [ 11 , [], (), 22 , 33 , { 'kk1' : 'vv1' , 'kk3' : ( 11 , 22 ), 'kk2' : 'vv2' }], 'k2' : True } |
支持for循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
info = { "k1" : 18 , "k2" : True , "k3" : [ 11 , [], (), 22 , 33 , { 'kk1' : 'vv1' , 'kk2' : 'vv2' , 'kk3' : ( 11 , 22 ), } ], "k4" : ( 11 , 22 , 33 , 44 ) } for item in info: print (item) $ k4 $ k2 info是字典类型 $ k1 默认 for 循环只有key $ k3 但是输出结果键每次排序都不同,因为字典是无序的 |
用for循环获取值values
1
2
3
4
5
6
7
8
9
|
代码接上 for item in info.values(): print (item) $ ( 11 , 22 , 33 , 44 ) $ [ 11 , [], (), 22 , 33 , { 'kk3' : ( 11 , 22 ), 'kk2' : 'vv2' , 'kk1' : 'vv1' }] $ True $ 18 |
既想获取key又想获取value则用items
1
2
3
4
5
6
7
8
9
|
代码接上 for item in info.items(): print (item) # keys和values都可以获得 $ ( 'k1' , 18 ) $ ( 'k4' , ( 11 , 22 , 33 , 44 )) $ ( 'k2' , True ) $ ( 'k3' , [ 11 , [], (), 22 , 33 , { 'kk2' : 'vv2' , 'kk3' : ( 11 , 22 ), 'kk1' : 'vv1' }]) |
字典的方法(魔法)
序号 | 函数及描述 |
---|---|
1 | dict.clear() 删除字典内所有元素 |
2 | dict.copy() 返回一个字典的浅复制 |
3 | dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | key in dict 如果键在字典dict里返回true,否则返回false |
6 | dict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | dict.keys() 以列表返回一个字典所有的键 |
8 | dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | dict.update({'k1':'v1'} OR k1=v1) 把字典dict2的键/值对更新到dict里 |
10 | dict.values() 以列表返回字典中的所有值 |
11 |
dict.popitem() 随机删除,并获取删除的键值以元组形式返回 |
Python基本数据类型之字典dict的更多相关文章
- python基本数据类型之字典
python基本数据类型之字典 python中的字典是以键(key)值(value)对的形式储存数据,基本形式如下: d = {'Bart': 95, 'Michael': 34, 'Lisa': 5 ...
- python调用数据返回字典dict数据的现象2
python调用数据返回字典dict数据的现象2 思考: 话题1连接:https://www.cnblogs.com/zwgbk/p/10248479.html在打印和添加时候加上内存地址id(),可 ...
- python调用数据返回字典dict数据的现象1
python调用数据返回字典dict数据的现象1 思考: 可以看到这两种情况,区别在于构造函数make()里赋值给字典dict的方式不同.使用相同的调用方式,而结果却完全不同.可以看到第二种情况才是我 ...
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
- python基础数据类型之字典的操作
一. 字典的简单介绍字典(dict)是python中唯一的一个映射类型.他是以{ }括起来的键值对组成. 在dict中key是唯一的. 在保存的时候, 根据key来计算出一个内存地址. 然后将key- ...
- Python基础之 一 字典(dict)
字典:是一种key - value的数据类型.语法:info = { key:value }特性:无序,key必须唯一(所以天生去重) 方法如下:del dict[key]:删除字典指定键len(di ...
- python数据类型之字典(dict)和其常用方法
字典的特征: key-value结构key必须可hash,且必须为不可变数据类型.必须唯一. # hash值都是数字,可以用类似于2分法(但比2分法厉害的多的方法)找.可存放任意多个值.可修改.可以不 ...
- Python—数据类型之字典(Dict)
其它数据类型转成字典 arr1 = ['jack', 'rose', 'marry'] arr2 = [68, 85, 66] dict1 = dict(zip(arr1, arr2)) print( ...
- python(1):数据类型/string/list/dict/set等
本系列文章中, python用的idle是spyder或者pycharm, 两者都很好用, spyder 是在anaconda 中的, 自带了很多包可以用, pycharm 只是个编译器, 没有很多包 ...
随机推荐
- Vs工程高版本向低版本迁移
使用到一个SLAM程序,一些运行库是基于PCL1.7.2Vs11版本,但是Vs11巨慢,应该把程序迁移到Vs10 下面,遇到打不开的问题. 1.修改方法: 参考链接:使用低版本打开高版本VS解决方案 ...
- 【sqli-labs】 less37 POST- Bypass MYSQL_real_escape_string (POST型绕过MYSQL_real_escape_string的注入)
POST版本的less36 uname=1&passwd=1%df' or 1#
- (转)Openlayers 2.X加载高德地图
http://blog.csdn.net/gisshixisheng/article/details/44853881 概述: 前面的有篇文章介绍了Openlayers 2.X下加载天地图,本节介绍O ...
- PS学习列表
1 去水印 祛痘 祛斑 2 新建画布,素材拖到ps中,图层 3 钢笔抠图,直线点,圆弧拖,遇到拐角按alt,ctrl+回车键将扣的图变为选区,ctrl+j复制一层上来 4 证件照换底
- PAT_A1098#Insertion or Heap Sort
Source: PAT_A1098 Insertion or Heap Sort (25 分) Description: According to Wikipedia: Insertion sort ...
- Springmvc中ajax与jason应用
Springmvc中ajax与jason应用 相关依赖包 json数据转换的jar包 jackson-annotations-2.5.4 jackson-core-2.5.4 jackson-data ...
- Linux—Ubuntu14.0.5安装MySQL
1.更新资援列表 sudo apt-get update 2.安装mysql的操作命令(下一步选中“Y”) sudo apt-get install mysql-server 3.输入MySQLroo ...
- Hexo系列(四) NexT主题配置
Hexo 框架允许我们更换合适的主题,以便于构建不同风格的网站,这里介绍目前最常使用的一款主题之一 -- NexT 一.NexT 安装 在正式开始讲解 NexT 安装之前,我们必须明确以下几个概念: ...
- foj 2173 floyd+矩阵快速幂
Problem 2173 Nostop Accept: 52 Submit: 210 Time Limit: 3000 mSec Memory Limit : 32768 KB Pro ...
- HDU - 4074 - Sum
先上题目: Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...