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 只是个编译器, 没有很多包 ...
随机推荐
- java JDBC连接 Sqlserver 非默认的实例名问题
一般我们在连接数据库的时候都是用的默认实例名,今天遇到了用非默认是实例名:连接代码如下(Java): <property name="url" value="jdb ...
- 【Python基础】条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为tr ...
- 单链表每k个节点为一组进行反转(最后不满k个时不反转)
public class LinkReverse2 { public static Node mhead=null; public static Node mtail=null; public sta ...
- BZOJ 1585: Earthquake Damage 2 地震伤害 网络流 + 最小割
Description Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着两个牧场Ai和Bi,注意可能有很多条道路连接着相同的Ai和Bi,并且Ai有可能和Bi相等.F ...
- SDOI2017数字表格
求$\prod_{i=1}^n\prod_{j=1}^n\text{Fib}[\gcd(i,j)]\;\text{mod}\;10^9+7$的值 令$n\leq m$,则有: \begin{align ...
- 工厂模式的python实现
#1.什么是工厂模式 #2.工厂模式的分类 ''' 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂方法模式 ''' #3.简单工厂模式的python实现 from abc import ABC ...
- firebird的日期型字段
fb一大特色,日期型字段.dialect3时,对date time datetime是分的很清楚的.它们之间,你必须手把格式设定好,否则会报错.而不是你想象的会自动化:表xxx的date字段yyy,i ...
- 【ZOJ 4067】Books
[链接] 我是链接,点我呀:) [题意] [题解] 统计a中0的个数cnt0 然后m减去cnt0 因为这cnt0个0是一定会取到的. 如果m==0了 那么直接找到数组中的最小值mi 输出mi-1就好 ...
- 0804SHOW ENGINE INNODB STATUS
转自http://blog.csdn.net/github_26672553/article/details/52931263 innodb存储引擎在show engine innodb status ...
- [bzoj4562][Haoi2016]食物链_记忆化搜索_动态规划
食物链 bzoj-4562 Haoi-2016 题目大意:给你n个点,m条边的DAG,求所有的满足条件的链,使得每条链的起点是一个入度为0的点,中点是一条出度为0的点. 注释:$1\le n\le 1 ...