码迷,mamicode.com
首页 > 编程语言 > 详细

python中的元祖与字典

时间:2019-11-03 10:38:44      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:lis   下标索引   介绍   运算符   软件开发   str   enum   常见   集合   

元祖的介绍

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)
add
set1 = {1, 2, 4, 5}
#添加元素
set1.add(8)

update
set1 = {1, 2, 4, 5}
#是把要传入的元素拆分,做为个体传入到集合中
set1.update("abcd")
删除元素(remove,pop,discard)
remove
set1 = {1, 2, 4, 5}
# 使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错
set1.remove(22)

pop
set1 = {1, 2, 4, 5}
# 使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错
set1.pop()
discard
set1 = {1, 2, 4, 5}

# 使用discard删除 如果元素存在 直接删除 如果元素不存在 不做任何操作
set1.discard(2)  

集合的交集和并集

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

公共方法

运算符

技术图片

 

 

公共方法( + )

技术图片        技术图片

 

 

公共方法( * )

技术图片技术图片

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

技术图片技术图片

 

 

python内置函数

Python包含了以下内置函数

    技术图片

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

     技术图片技术图片

max()

     技术图片技术图片

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

      技术图片技术图片

python中的元祖与字典

标签:lis   下标索引   介绍   运算符   软件开发   str   enum   常见   集合   

原文地址:https://www.cnblogs.com/jiaxinzhu/p/11785098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!