python中的元祖与字典

你。 提交于 2019-12-03 09:07:46

学习目标

掌握元祖和字典的格式

掌握元祖与字典的数据类型

掌握元祖和字典的常用方法

元祖的介绍

python中的元祖与列表类似,不同之处在于元祖的元素不可修改。元祖使用小括号,列表使用方括号

 

 

 

<1>访问元祖                                    执行结果:

 

 

<2>修改元祖                                         执行结果:

  

说明:python中不允许修改元祖的数据,包括不能删除其中的值

<3>元祖的内置函数count、index

index和count与字符串和列表中的用法相同

例子:                                                                                           结果:

              

 

 

字典的介绍

想一想:如果有列表     nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi'];需要对"xiaoWang"这个名字写错了,通过代码修改:     nameList[1] = 'xiaoxiaoWang'如果列表的顺序发生了变化,如下     nameList = ['xiaoWang', 'xiaoZhang',  'xiaoLi'];此时就需要修改下标,才能完成名字的修改     nameList[0] = 'xiaoxiaoWang'有没有方法,既能存储多个数据,还能在访问元素的很方便就能够定位到需要的那个元素呢?答:字典
另一个场景:学生信息列表,每个学生信息包括学号、姓名、年龄等,如何从中找到某个学生的信息?

 <1>生活中的字典

    

 

 

 <2>软件开发中的字典

变量info为字典类型:    info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}说明:'name':'班长'----> 键值对字典和列表一样,也能够存储多个数据列表中找某个元素时,是根据下标进行的字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')字典的每个元素由2部分组成,键(key):值(value)。例如 'name':'班长' ,'name'为键(key),'班长'为值(value)

 <3>根据键访问值

 

 

 

   

假设:若访问不存在的键,会出现什么情况呢?

 

 

 

 

 

    

想一想:假如我们不确定字典中是否存在某个键而又想获取其值时,如何操作呢?答案:可以使用get()方法。

 

 

 

  

想一想:如果info中不存在'age'这个键, 我就让它返回默认值18,能否操作?答:能操作!!!

 

 

 

    

 

 

字典的常见操做

<1>修改元素字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

 

 

 

  

<2>添加元素
访问不存在的元素

    

 

 

    

如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

  

 

 

     

<4>删除元素 对字典进行删除操作,有一下几种:(1)del(2)clear() ---- 清空
 del删除指定的元素(删除后不能访问,否则会报错)

       

 del删除整个字典

                  

 clear清空整个字典

                     

 

 

 

字典的常见操作(升级)

<1>len()测量字典中,键值对的个数

           

 

 

   

<2>keys返回一个包含字典所有KEY的列表

 

 

 

   

<3>values返回一个包含字典所有value的列表

 

 

 

   

<4>items返回一个包含所有(键,值)元祖的列表

  

 

 

常见的遍历操作

遍历通过for ... in ... 我们可以遍历字符串、列表、元组、字典等注意python语法的缩进字符串遍历

   

列表的遍历

 

元祖的遍历

   

字典的遍历遍历字典的key(键)

   

遍历字典的value(值)

    

遍历字典的items(元素)

   

遍历字典的items(键值对)

    

想一想:如何实现带下标索引的遍历?

    

如何实现带下标索引的遍历?

enumerate()enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    

 

 

集合的介绍

集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。定义一个空集合set1 = set()# 注意以下写法为一个空字典set2 = {}
添加元素(add,update)addset1 = {1, 2, 4, 5}#添加元素set1.add(8)updateset1 = {1, 2, 4, 5}#是把要传入的元素拆分,做为个体传入到集合中set1.update("abcd")
删除元素(remove,pop,discard)removeset1 = {1, 2, 4, 5}# 使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错set1.remove(22)popset1 = {1, 2, 4, 5}# 使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错set1.pop()
discardset1 = {1, 2, 4, 5}# 使用discard删除 如果元素存在 直接删除 如果元素不存在 不做任何操作set1.discard(2)  

集合的交集和并集

交集和并集( & 和 | )交集set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}new_set = set1 & set2print(new_set) # {3, 4}并集set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}new_set = set1 | set2print(new_set)# {1, 2, 3, 4, 5, 6}

公共方法

运算符

 

 

公共方法( + )

        

 

 

公共方法( * )

公共方法( in )(注意,in在对字典操作时,判断的是字典的键)

 

 

python内置函数

Python包含了以下内置函数

    

len()                                     注意:len在操作字典数据时,返回的是键值对个数。

     

max()

     

deldel有两种用法,一种是del加空格,另一种是del()

      

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!