python基础005----字典&集合

python基础005----字典&集合,第1张

概述一、字典1、概述    字典是一个无序的、可修改的,元素呈键值对的形式(这种结构类型通常也称为映射,或者叫关系数组,也有叫哈希表的),以逗号分割的,以大括号包围的数据类型。字典中的每个元素由2部分组成,键:值。键必须是唯一的,但值不必,值可以取任何数据类型,但键必须是不可变的,所以

一、字典

1、概述

       字典是一个无序的、可修改的,元素呈键值对的形式(这种结构类型通常也称为映射,或者叫关系数组,也有叫哈希表的),以逗号分割的,以大括号包围的数据类型。字典中的每个元素由2部分组成,键:值。键必须是唯一的,但值不必,值可以取任何数据类型,但键必须是不可变的,所以可以用数字,字符串或元组充当,而用列表就不行。

       字典和列表一样,也能够存储多个数据,字典中的值没有特殊的顺序。列表中找某个元素时,是根据下标进行的,如果下标很多,查找不方便。当索引不好用时,可以使用字典。由于字典是无序的,所以我们在定义字典和字典生成之后的元素的顺序是不同的。 

2、定义

     创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示: 

dict = {'name': 'Runoob', 'Age': 7, 'Class': 'First'}dict1 = { 'abc': 123, 98.6: 37 }print('利用get方法访问字典中的值:',dict.get('Age'))   #利用get方法访问字典中的值print('利用键名访问字典中的值:',dict['Age'])    #利用键名访问字典中的值,把相应的键放入到方括号中print('如果用字典里没有的键访问数据,报错:',dict['Ages'])   #如果如果用字典里没有的键访问数据,会输出错误

输出结果:

     

注:get方法如果没有找到相应的值,就会输出None,后面也可以带默认的值,工作中常用。

3、列表内建函数

(1)添加和修改

        

代码实例:

dict = {'name': 'Runoob', 'Age': 7, 'Class': 'First'}dict1 = { 'abc': 123, 98.6: 37, 'sse': 7}#添加、修改dict.update(dict1)    #update把dict1的键值对更新到dictprint('update把dict1的键值对更新到dict:',dict)dict.update({'Age':'add'})  #如果键存在,覆盖之前的值;print('键存在输出覆盖后后的字典:',dict)dict.update({'Age':'add'})  #如果键不存在,在字典中添加键值对。print('键不存在添加键值对后的字典:',dict)dict['like']='sing'       #添加print('输出添加后的字典:',dict)dict['like']='dance'       #修改print('输出修改后的字典:',dict)

 输出结果:

     

 

 

(2)删除

        

代码实例:

dict = {'name': 'Runoob', 'Age': 7, 'Class': 'First'}dict1 = { 'abc': 123, 98.6: 37, 'sse': 7}#删除print('pop删除字典给定键 key 所对应的值:',dict1.pop(98.6))print('popitem返回并删除字典中的最后一对键和值:',dict1.popitem())del dict['Age']   # 删除键 'name'print('输出del 删除键后的字典:',dict)dict.clear()       # 清空字典print('输出clear清空后的字典:',dict)del dict           # 删除字典print('输出del 删除后的字典:',dict['Age'])

输出结果:

     

 

 

 (3)查找

         

 

 

 代码实例:

dict = {'name': 'Runoob', 'Age': 7, 'Class': 'First'}dict1 = { 'abc': 123, 98.6: 37 }#字典的取值print('返回所有key的列表:',dict.keys())print('返回所有value的列表:',dict.values())print('get方法访问字典中的值:',dict.get('Age'))                        #利用get方法访问字典中的值,以键取值print('get方法如果指定键不存在,默认返回None:',dict.get('Ages'))         #get方法如果指定键不存在,默认返回Noneprint('get方法指定键不存在时,可以指定返回内容:',dict.get('Ages','dd'))   #get方法指定键不存在时,可以指定返回内容print('setdefault方法访问字典中的值:',dict.setdefault('Age'))          #利用setdefault方法访问字典中的值dict.setdefault('Ages')           #setdefault方法如果键不存在,在字典中添加键并将值默认设为Noneprint('setdefault方法键不存在,在字典中添加键,值默认为none:',dict)dict.setdefault('Agess',7)        #setdefault方法如果键不存在,可以设置自定义值print('setdefault方法键不存在,可以自定义值:',dict)print('items以列表返回可遍历的(键, 值) 元组数组:',dict.items())       #以列表返回可遍历的(键, 值) 元组数组print('统计字典中的键值对个数:',len(dict))print('输出字典,以可打印的字符串表示:',str(dict))

输出结果:

 

 

 (4)总结

        

 

 

 

二、集合

1、概述

       集合(set)是一个无序的、不重复的元素序列。与之前的列表、元组类似,可以存储多个数据,但是这些数据是不重复的。

2、定义

      创建一个列表,可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。如下所示: 

s1 = {'apple', 'orange', 'pink', 'pear',  'banana'}s2 = {1,2,3,4,5,6,4,3,3}s3=set()        #创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典print('输出空的集合的类型',type(s3))print('集合元素不重复,存在重复元素时不输出',s2)   #去重功能,集合中没有重复的元素

输出结果:

     

3、集合间的运算

      

 

 

代码实例:

s1 = {'apple', 'orange', 'pink', 'pear',  'banana'}#集合间的运算s4={'pear', 'banana', 'yellow', 'green', 'red'}print('输出交集',s1&s4)       #两个集合的公共部分print('输出并集',s1|s4)       #两个集合合并,没有重复元素print('输出差集',s1-s4)       #只存在s1中不存在s4中的元素print('输出对称差集',s1^s4)    #只有在s1或s4中,但是不会同时出现在二者中

输出结果:

    

 

 4、集合的 *** 作

(1)添加

        

 

 代码实例:

s1 = {'apple', 'orange', 'pink', 'pear',  'banana'}s4={'pear', 'banana', 'yellow', 'green', 'red'}#添加s1.add('potato')          #将将元素添加到集合中,如果元素已存在,则不进行任何 *** 作print('输出add添加后的结果',s1)s1.update({'yellow', 'green'})  #参数可以是列表,元组,字典等print('输出update添加后的结果',s1)

 输出结果:

    

 

 (2)删除

     

 

 代码实例:

s1 = {'apple', 'orange', 'pink', 'pear',  'banana'}s4={'pear', 'banana', 'yellow', 'green', 'red'}#删除s1.remove('banana')    #将元素从集合中移除,如果元素不存在,则会发生错误print('remove移除元素后的集合',s1)s1.discard('pear')     #移除集合中的元素,如果元素不存在,不会发生错误print('discard移除元素后的集合',s1)s1.pop()               #随机删除集合中的一个元素print('pop移除元素后的集合',s1)

 输出结果:

      

 

三、各种数据类型比较

 

 

  1、数据类型比较

   

 2、可变类型与不可变类型

      (1)可变类型:值可以改变------列表List、字典dict、集合set

      (2)不可变类型:值不可以改变------数值类型(int,bool,float)、字符串 str、元组tuple

 3、集合set、列表List、元组tuple之间可以相互转化

#集合set、列表List、元组tuple之间可以相互转化str='hello world'print('字符串转列表输出:',List(str))print('字符串转集合输出:',set(str))print('字符串转元组输出:',tuple(str))

 输出结果

   

 4、通用方法整合

 

 (1)常见 *** 作

      

      注:in在字典 *** 作时,判断的是字典的键

 (2)python内置函数

         

总结

以上是内存溢出为你收集整理的python基础005----字典&集合全部内容,希望文章能够帮你解决python基础005----字典&集合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1188120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存