Python基础教程系列:七、字典(续)

不好意思,昨天有急事耽搁了,今天我们接着说字典。首先通过key往字典中添加三条记录。其中方括号中的那就是key,等式右边的就是value,别学完了序列后,总感觉中括号中的那是下角标。

那么字典的更新,包括增、删、改也都分别作了介绍。删除整个字典相对较少,毕竟实际工作中不像做练习,随便删了就可以。那么真想删除整个字典,del dict1即可。其中pop(),这不就相当于出栈操作么,取出来了也就相当于删除了。

字典操作:

1、字典比较:cmp(),这个比较起来也比较复杂,毕竟也不是完全数与数比大小或者字符比大小,数据类型的不一致导致比较规则也麻烦,而且用的也不是很多也没有多大用,感兴趣自己研究一下。这是比较时优先考虑的(1)比较字典长度(2)比较字典的键(3)比较字典的值(4) Exact Match

2、dict():这个就是来创建字典的。

>>> dict(zip((‘x‘, ‘y‘), (1, 2)))
{‘y‘: 2, ‘x‘: 1}       #zip()函数的用法在前面我们提到过,zip()函数中有两个元组参数seq1和seq2,可以转换成seq1[0]seqq2[0],seq1[1]seq2[1],seq1[i]seq2[i]……,那么如果seq1的长度长,seq2的长度短怎么办?以短的为准,seq1多余部分作废

>>> dict([[‘x‘, 1], [‘y‘, 2]])
{‘y‘: 2, ‘x‘: 1}
>>> dict([(‘xy‘[i-1], i) for i in range(1,3)])
{‘y‘: 2, ‘x‘: 1}   #解释一下,首先后面是个for循环,i的取值只有1和2,再次强调range(start,end),不会产生end这个数,只会产生start到end-1之间的数。当i为1时‘xy‘[0]就是‘x‘,这和字符串通过下角标取字符道理一样,同样‘y‘对应的就是2

3、len():求长度。返回所有键值对的数目

4、keys()、values()、items()

keys()方法,返回一个列表,包含字典中所有的键,values()方法,返回一个列表,包含字典中所有的值,items(), 返回一个包含所有(键, 值)元组的列表。这些方法在不按任何顺序遍历字典的键或值时很有用。

keys()方法很有用,它返回一个包含字典中所有键的列表,此方法可以与for 循环一起使用来获取字典中的值。

注意:

1、不允许一个键对应多个值:就像更新操作,最后一次操作就把之前的值覆盖掉了,对了,你知道数学中函数的概念吗,x与y的关系

2、键必须是可哈希的,像列表和字典这样的可变类型,由于它们不是可哈希的,所以不能作为键。所有不可变的类型都是可哈希的,因此它们都可以做为字典的键。一个要说明的是问题是数字:值相等的数字表示相同的键。换句话来说,整型数字 1 和 浮点数 1.0 的哈希值是相同的,即它们是相同的键。

字典我们作为基础篇就算说完了,当然直到现在或许你仍不知道字典的魅力在哪里,那么就多多去练习吧。实践才是进步最快的路径。

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

Python基础教程系列:七、字典(续)的相关文章

Python基础教程系列:七、字典

字典是Python语言中唯一的映射类型.映射类型不要求用数字值做索引就可以从一个容器中获取对应的数据项.你可以用键(key)直接映射到值,这就是为什么叫映射的原因,映射,我的理解就是索引,顺藤摸瓜就可以找到背后的幕后者.字典是Python中最强大的数据类型之一. 刚开始接触字典还是在Hadoop中的mapreduce,其实说白了就是键值对(key/value),所谓的索引通常是指key,而幕后者通常指的是value.每个key对应一个value,主要的好处是方面归类,而且按照key进行查找val

python基础教程总结3—字典

1.字典 1.1 字典类型与序列类型的区别: 存取和访问数据的方式不同. 序列类型只用数字类型的键(从序列的开始按数值顺序索引): 映射类型可以用其他对象类型作键(如:数字.字符串.元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直接或间接地和存储数据值相关联. 映射类型中的数据是无序排列的.这和序列类型是不一样的,序列类型是以数值序排列的. 映射类型用键直接“映射”到值. 1.2 字典创建: 方法①: >>> dict1 = {} >>> dict2 = {

Python基础教程系列:八、条件与循环

其实作为条件判断语句或者循环语句,我们在前面已经多多少少涉及了一些,现在我们再做一些补充或者把几个要注意的地方说一下.主要有以下常用语句:if.while.for,以及相互搭配使用的else.elif.break.continue和pass. 我们挨个简单说一下,简单的一笔带过就可以了,因为大家都学了C,所以主要说一下与C的不同之处. 1.if与else: if expression:         语句1 语句2 -- 条件语句(expression)不需写在括号中,整个Python语言不使

Python基础教程系列:九、文件操作

一.open()函数 open()以及file()(open()与file()等价,可以任意替换)提供了初始化输入/输出(I/O)操作的通用接口.open()函数成功打开一个文件后就会返回一个文件对象,说白了你就可以接着读写了,否则就bug了. 语法:file_object = open(file_name, access_mode='r', buffering=-1) 第一个参数是文件名或者路径(绝对或相对路径),第二个参数叫文件打开的模式,不写时默认是'r'模式.'r'模式是只读模式.'w'

Python基础教程系列:六、元组

实际上元组是跟列表非常相近的另一种容器类型.元组和列表看起来不同的一点是元组用的是圆括号而列表用的是方括号.而功能上,元组和列表相比有一个很重要的区别,元组是一种不可变类型.正因为这个原因,元组能做一些列表不能做的事情.比如用做一个字典的key.另外当处理一组对象时,这个组默认是元组类型.比如  x, y = 1, 2   ;   x, y ---->(1, 2) 所以呢,在这一章节,我们基本就不再从头到尾挨个说了,它和列表的基本操作都是一样的. 我们重点说一下元组和列表间的转换以及元组和列表的

Python基础教程系列:五、序列

列表也是序列的一种,所以对于列表的操作同样适用于列表.也可以通过下标或者切片操作来访问某一个或者某个子列表.那么列表和字符串有什么区别呢?首先字符串必须只能由字符组成,即便字符串中有数字,那也是字符类型的数字,不可直接用于数学计算,其次,字符串中的字符具有不可变性.但是列表是可以保留任意数目的Python对象的灵活容器,就像一个大箱子,什么对象都可以往里放.列表具有元素可变性,在序列中,列表是唯一一种支持元素可变性的数据结构.列表在形式上类似于C.Java中的数组,但与数组还是有很大区别的.数组

python基础教程(七)

本章介绍如何将语句组织成函数,这样,可以告诉计算机如何做事. 下面编写一小段代码计算婓波那契数列(前两个数的和是第三个数) fibs = [0,1] # 定义一个列表,初始内容是0,1 for i in range(8): #循环8次 fibs.append(fibs[-2]+fibs[-1]) #append在末尾追加一个数,这个是它前面两个数的和 #输入 >>> fibs #输出 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 因为赋完值fibs已经有两个数了(0

python基础教程_学习笔记6:字典

字典 映射(mapping),一种可通过名字引用值得数据结构. 字典是python中唯一内建的映射类型. 字典中的值没有特殊的顺序,但都存储在一个特定的键(key)里.键可以是数字.字符串甚至是元组. 字典的使用 某些情况下,字典比列表更加适用,比如: 表征游戏棋盘的状态,每个键都是由坐标值组成的元组: 存储文件修改数,用文件名作为键: 数字电话/地址簿: 假如有一个人名列表如下: >>>names=['Alice','Beth','Cecil','Dee-Dee','Earl'] 如果

《python基础教程(第二版)》学习笔记 字典(第4章)

<python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),('key2','value2')]; d=dict(lst)d=dict(key1='value1', key2='value2')字典基本操作:d={'key1':'value1','key2':'value2'}; len(d) ==> 2 #字典中的键值对数量d={'key1':'value1','