12.2-字典概念

作者: BeautifulSoulpy | 来源:发表于2019-08-29 09:59 被阅读0次

字典在Python中的地位排在第一,非常非常重要;Python中许多数据结构、计算机编程 都是基于字典;

图片.png

1.字典dict

哈希表的算法是获取键 key ( set 相当于key键 ),对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储你的值。

字典是Python中一个键值映射的数据结构;

字典是非线性结构中最重要的一种;set 可以看成字典的特例:set都是key;

2. 创建字典(可变的,无序的,key不重复的)
# 创建字典 (多种方法)
# 第一种方法
dict1 = {'name':'linda','age':13}

# 第二种方法:利用二元结构
dict2 = dict(['name','linda'],['age',13])

d=dict(([1,'a'],[2,'b']))   # 列表形式
e=dict(a=1,b=2,c=3,d='str')   # =对应关系;

#第三种方法,将一个可迭代对象的值作为字典的每一个键,赋值为1
dict3 = {}.fromkeys(('x','y','z'),1)
dict2 = {}.fromkeys(('x','y','z'))

# 第四种方法:使用字典构建另一个字典;
dict(mapping,**kwary)

总结:
1. dict(iterable,**kwarg)必须是一个二元结构(键值对结构) ;
d={'a':1,'b':2}

d=dict(([1,'a'],[2,'b']))
e=dict(a=1,b=2,c=3,d='str')  

e=dict.fromkeys(range(5),100)   # 取值都是一样;
e
----------------------------------------------
{0: 100, 1: 100, 2: 100, 3: 100, 4: 100}

3.访问字典
key:可以hash就可以作为key;  数字、字符串都可以;
# 返回一个键的列表
dict1.keys()      |    ['name','age']

# 返回一个值的列表
dict1.values()     |   ['linda',13]

# 返回一个包含(键,值)元组的列表
dict1.items()     |    [('name','linda'),('age':13)]

# 返回键name对应的值
dict1['name']     |    'linda'

# 得到键的值,若键不存在,则返回默认值
dict1.get('name',None)     |    'linda'

# 字典中没有sex,返回默认值man
dict1.get('sex','man')     |    'man'
dict.iter()  #方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。

d.setdefault('b', 1000)     #设置缺省值;
4.字典 增、删、改
# 修改键name的值
dict1['name'] = 'lihua' 

# 如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发KeyError 异常
dict1.pop(name,'unknown')    |    'linda' 

# 删除键name这条记录
dict1.remove('name') 

# 如果字典中不存在 key 键,由 dict[key]=default 为它赋值,若存在则不改变它的值
dict1.setdefault('name',default='unknown')  

# 将字典 dict2 的键-值对添加到字典 dict
dict.update(dict2)  

d = dict.fromkeys(range(10),0)
d.update([(1,2000)])    #  d.update([(1,2000)]) 
d
-----------------------------------------------------------
{0: 0, 1: 2000, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0}

d.update({'b':3000, 'c':7879})
d
------------------------------------------------------------------
{0: 0,
 1: 2000,
 2: 0,
 3: 0,
 4: 0,
 5: 0,
 6: 0,
 7: 0,
 8: 0,
 9: 0,
 'b': 3000,
 'c': 7879}

# 删除字典中所有元素
dict.clear()  

# 删除字典
del dict1 

相关文章

  • 12.2-字典概念

    字典在Python中的地位排在第一,非常非常重要;Python中许多数据结构、计算机编程 都是基于字典; 1.字典...

  • 【Python基础】10. 字典

    本篇笔记知识点:字典基本概念字典键(key)的特性字典的创建字典的增删改查 字典的基本概念 字典一种key - v...

  • Swift学习系列 字典的使用

    字典的概念 字典的初始化 字典元素的基本操作 字典的基本操作 字典的遍历 字典合并

  • 12.python3字典

    字典的概念和创建 字典概念:1.使用键值对(key-value)存储,具有极快的查找速度2.注意:字典是无序的3....

  • 数据团Python_5. Python映射:字典dict

    5. Python映射:字典dict 5.1 字典dict基本概念(重点) 5.2 dict字典的元素访问及遍历 ...

  • 基础·数据容器·字典

    Python基础教程 字典==================== 字典对应其它语言中的Map,概念并不难以理解。...

  • 《七年》概念是一切知识的基石

    我喜欢字典,字典能给出一个相对基本和准确的定义和解释,这对厘清概念很有帮助。但生活中,还是有很多概念不清楚,概念不...

  • 6.Python之字典的基础

    字典是针对非系列集合而提供的一种数据类型 字典的概念 简单的字典的实例 字典类型与系列类型的区别 字典的操作 为字...

  • MOOC大学 实用Python程序设计 W7 字典和集合

    7.1 字典的基本概念 7.2 字典相关函数 7.3 字典例题 7.4 集合 7.5 程序和算法的时间复杂度 7....

  • [HBase] - 理解 HBase Rowkey 字典排序

    我们都知道 HBase 的数据根据 rowkey 字典序排序的,理解这个概念很重要。 先理解名词 - 「字典序」 ...

网友评论

    本文标题:12.2-字典概念

    本文链接:https://www.haomeiwen.com/subject/mymbectx.html