字典 的使用 dict

一、字典介绍:是python中最强大数据类型之一,什么是字典、字典的创建、赋值、字典的基本操作、映射类型操作、映射相关的函数、

1、什么是字典?

字典是python语言中唯一的映射类型。

映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系,

字典的对象是可变的,它是一个容器类型,能存储任意个数的python对象,

字典类型与序列类型的区别:

1、存取和访问数组的方式不同。

2、序列类型只用数字类型的键(从序列的开始按数值顺序索引)

3、映射类型可以用其他对象类型做键(如:数字、字符串、元祖,一般用字符串作键,就是不可变的元素可以当做key),和序列类型的键不同,

4、映射类型的键值接或间接地和存储数据值相关联。

5、映射类型中的数据是无序排列的。

6、映射类型用键直接“映射”到值

二、字典的操作

1、创建字典

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> test_dict
3 {‘name‘: ‘bao‘, ‘value‘: 1000}

创建字典

键值与值用:分开

项与项用,号分开

字典中键值是唯一的,值可以不唯一。

2、访问字典中的值:通过key

1 >>> test_dict
2 {‘name‘: ‘bao‘, ‘value‘: 1000}
3 >>> test_dict[‘name‘]
4 ‘bao‘

例子

3、检查key是否存在字典中

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> ‘name‘ in test_dict.keys()
3 True
4 >>> ‘ddd‘ in test_dict.keys()
5 False

keys

4.清空字典  clear

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> test_dict
3 {‘name‘: ‘bao‘, ‘value‘: 1000}
4 >>> test_dict.clear()
5 >>> test_dict
6 {}

clear

5、删除key pop  删除指定的key ,并返回key对应的值

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> test_dict
3 {‘name‘: ‘bao‘, ‘value‘: 1000}
4 >>> test_dict.pop(‘name‘)
5 ‘bao‘

pop

6、打印字典中所有的key 值

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> test_dict.keys()
3 dict_keys([‘name‘, ‘value‘])

keys()

7、打印字典中所有的值 values

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> test_dict.values()
3 dict_values([‘bao‘, 1000])

values

8、打印字典内的所有元素 items()

1 >>> test_dict = {‘name‘:‘bao‘,‘value‘:1000}
2 >>> test_dict.items()
3 dict_items([(‘name‘, ‘bao‘), (‘value‘, 1000)])

items()

9、合并两个字典update() 也可以是合并一个元素

1 >>> test_bao = {‘date‘:‘mon‘,‘biejing‘:‘ddd‘}
2 >>> test_dict.update(test_bao)
3 >>> test_dict
4 {‘name‘: ‘bao‘, ‘value‘: 1000, ‘date‘: ‘mon‘, ‘biejing‘: ‘ddd‘}
5 元素
6 >>> test_dict.update({‘ma‘:‘lai‘})
7 >>> test_dict
8 {‘name‘: ‘bao‘, ‘value‘: 1000, ‘date‘: ‘mon‘, ‘biejing‘: ‘ddd‘, ‘ma‘: ‘lai‘}

update()

10、复制 copy()

1 >>> test_dict
2 {‘name‘: ‘bao‘, ‘value‘: 1000, ‘date‘: ‘mon‘, ‘biejing‘: ‘ddd‘, ‘ma‘: ‘lai‘}
3 >>> test_ma = test_dict.copy()
4 >>> test_ma
5 {‘name‘: ‘bao‘, ‘value‘: 1000, ‘date‘: ‘mon‘, ‘biejing‘: ‘ddd‘, ‘ma‘: ‘lai‘}

copy

11、get 输入查找的key  有的话返回对应key的value ,否则返回默认值

1 >>> test_ma
2 {‘name‘: ‘bao‘, ‘value‘: 1000, ‘date‘: ‘mon‘, ‘biejing‘: ‘ddd‘, ‘ma‘: ‘lai‘}
3 >>> "Value : %s" % test_ma.get(‘name‘,‘ma‘)
4 ‘Value : bao‘
5 >>> "Value : %s" % test_ma.get(‘name1‘,"Never")
6 ‘Value : Never‘

get

12、setdefault  如果键值不存在字典中,并且把key保存到字典中,赋予默认值。

1 >>> test_ma
2 {‘name‘: ‘bao‘, ‘value‘: 1000, ‘date‘: ‘mon‘, ‘biejing‘: ‘ddd‘, ‘ma‘: ‘lai‘}
3 >>> test_ma.setdefault(‘liuliu‘,‘666‘)
4 ‘666‘
5 >>> test_ma.setdefault(‘name‘,‘666‘)
6 ‘bao‘

setdefault()

时间: 2024-08-07 13:44:29

字典 的使用 dict的相关文章

python中将普通对象作为 字典类(dict) 使用

目前我知道的有两种方法: 1 定义的类继承dict类 例如 class A(dict): pass a = A() a['name'] = 12 2 给自定义的类添加 __setitem__() __getitem__()方法 class A: def __init__(self, cfg={}): <strong><span style="color:#ff0000;">self.cfg = cfg</span></strong> de

[转载]python中将普通对象作为 字典类(dict) 使用

目前我知道的有两种方法: 1 定义的类继承dict类 例如 class A(dict): pass a = A() a['name'] = 12 2 给自定义的类添加 __setitem__() __getitem__()方法 class A: def __init__(self, cfg={}): self.cfg = cfg def __setitem__(self, key, value): self.cfg[key] = value def __getitem__(self, key):

字典dict

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 字典是无序的:键必须是唯一的,但值则不必(值可以取任何数据类型,但键key必须是不可变的,如字符串,数字或元组,但列表就不行) 不允许同一个键出现两次.创建时如果同一个键被赋值两次,后一个值会被记住 1.访问字典的值 可以使用方括号[key] 2.修改字典的值 dict = {'Name':

python中几个常见的黑盒子之“字典dict” 与 “集合set”

这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: >>> hash(56) 56 >>> hash("I like python") -4698211515002810579 对于这种标准散列的机制,常常用于字典类型(dict)的实现,而dict就是我们通常所说的散列表.同样,集合类型(set)也是通

redis底层数据结构之dict 字典1

最近,我想通过redis的源码来学习redis.虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的.redis是一个 开源的项目,我们可以通过源代码去了解redis.我后面会通过自己的学习,写一些关于redis源码的帖子.帖子的主要内容是分析代码设计,而并不会对 源码进行详细解说.如果有不对的地方,请指正.源码是reids 3.0.3版本. dict 字典 一.数据结构 //字典条目 typedef struct dictEntry {     void *key;

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

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337 今天我们来讲讲Redis中的哈希表.哈希表在C++中对应的是map数据结构,但在Redis中称作dict(字典).Redis只是用了几个简单的结构体和几种常见的哈希算法就实现了一个简单的类似高级语言中的map结构.下面我们来具体分析一下dict的实现. 在学习数据结构的时候,我们接触过一种称作"散列表"的结构,可以根据关键字而直接访问记录.说的具体一点就

Python之Dict字典

一.Dict(Dictionary)类型 Dict(中文叫字典)是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: 1 # -*- coding: UTF-8 -*- 2 3 d = { 4 'Adam': 95, 5 'Lisa': 85, 6 'Bart': 59 7 } 我们把名字称为key,对应的成绩称为value,dict就是通过 key来查找 value.

python中字典dict的操作

字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {'A' : 001 , 'B' : '002' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字典元素 dict['D'] = (5 , 6 , 7) # 增加字典元素 del dict['A'] # 删除字典元素 del dict # 删除字典 dict.clear() # 清除字典所有元素 len(dict) # 字典元素个数 str(dict)

Python学习之路-字典dict常用方法

字典特性: dict无序 key唯一,天生去重 创建字典: way1:小心列表坑 1 __author__ = "KuanKuan" 2 d = dict.fromkeys([1, 2, 3], ["name", "age"]) 3 print("字典:", d) 4 5 d[1][0] = "mmph好坑" 6 print("修改后:",d) 7 """