前端集合删除对象_笨办法学python(六)元组、字典与集合

第六课提纲

一、元组

1.创建

2.解压和打包

二、字典

1.创建与删除

2.元素的访问

访问异常

3.添加、修改与删除

update()

pop()、popitem()

三、集合

1.创建与删除

2.增减元素

add()、update()

pop()、remove()

discard()、clear()

3.集合运算

len()、max()、min()、sum()

sorted()、map()、filter()、enumerate()

交集、并集、差集

一、元组

列表的功能虽然很强大,但是负担也很重要,在很大程度上影响了运行效率。有时并不需要那么多功能,希望有个轻量级的列表,元组正是这样一种类型。如果要存储的数据是不能修改的数据,可以采用元组,元组内的数据是不能修改的。

acfa09f8a4abe07d89faead398794805.png

图1 元组的创建

元组和列表的不同:

元组和列表都是有序序列,都支持双向索引访问其中的元素,以及使用count()方法统计元组的出现次数和indexx()获取元素的索引,len()、map()、filter()等内置函数和+、*、+=、in等运算法都可以用于列表和元组。虽然列表和元组都有着一定的相似之处,但在本质上和内部实现上有很大的不同。元组属于不可变序列,不可以直接修改元组中元素的值,也无法为元组增加或删除元素。所以,元组没有提供append()、extend()和insert()等方法,无法向元组中添加元素。同样,元组也没有remove()和pop()方法,也不支持对元组元素进行del操作,不能从元组中删除元素,只能用del命令删除整个元组。元组也支持切片操作,但是只能通过切片来访问元组中的元素,而不允许使用切片来修改元组中元素的值。

列表的打包与解压功能,方便操作:

5ff47b190e8b2b8f52d4bce60380abce.png

图2 元组的打包和解压功能

二、字典:

字典是包含若干“键:值”元素的无序可变序列,字典中的每个元素包含用冒号分隔开的“键”和“值”两部分,表示一种映射或对应关系。定义字典时,每个元素的“键”和“值”之间用冒号分隔,不同元素之间用逗号分隔,所有的元素放在一对{}中。字典中元素的键可以是python中任意不可变数据,如实数、复数、字符串、元组等类型的数据,但是不能使用列表、集合、字典或者其他可变类型作为字典的键。另外,键不可重复,但是值可以重复。

1.字典创建与删除

创建字典时,可以使用已经有的数据创建、以关键参数的形式创建或者以给定键的内容的形式创建。删除时,直接del即可。

4a74b452c97416ce7fd55360144a7c39.png

图3 字典创建与删除

2.字典元素的访问

3dc492572f798f9c1949489c92b15404.png

图4 字典元素的访问

为了避免程序运行时引发异常而导致崩溃,在使用下标的方式访问字典元素时,最好配合条件判断或者异常处理结构。

9c95840cf1d2c149288a4cac8e9cc5de.png

图5 防止访问异常

字典对象提供了一个get()方法来返回指定“键”对应的“值”,并且允许指定该“键”不存在时返回特定的“值”:
aDict.get('age')                  #如果字典中存在该“键”则返回对应的“值”aDict.get('address','Not Exists.')#指定的键不存在时返回指定的默认值
字典对象的setdefault()方法用于返回指定的“键”对应的“值”,如果字典中不存在该“键”,就添加一个新元素并设置该“键”对应的“值”:
>>> aDict={'age':39,'score':[98,97],'name':'Dong','sex':'male'}>>> aDict.setdefault('address','SDIBT')'SDIBT'>>> aDict{'name': 'Dong', 'address': 'SDIBT', 'sex': 'male', 'age': 39, 'score': [98, 97]}
字典对象直接进行迭代或者遍历时默认是遍历字典的“键”,如果需要遍历字典的元素,必须使用字典对象的items()方法明确说明,如果需要遍历字典的“值”则必须使用字典对象的values()方法说明。当使用len()、max()、min()、sum()、sorted()、enumerate()、map()、filter()等内置函数以及成员测试运算符in对字典对象进行操作时,也遵循同样的约定。

43e3a2c55c5f350a648c05f90f4ae36e.png

图6 访问字典元素

3.字典元素的添加、修改与删除

当以指定的“键”为下标为字典元素赋值时,有两种含义:

①若该“键”存在,则表示修改该“键”对应的值

②若该“键”不存在,则表示添加一个新的“键:值”对,也就是添加一个新的元素

a3a4013d1f5005178e0089f5cc56344c.png

图7 修改、添加和删除

使用字典对象的update()方法可以将另一个字典的“键:值”一次性全部添加到当前字典对象,如果两个字典存在相同的“键”,则以另一个字典中的“值”为准对当前字典进行更新。

70b3a0678b3d7f044e354a3e7f5e3c39.png

图8 update进行修改和添加

pop()和popitem()方法可以弹出并删除指定的元素。

5462ddff9543d2af8cf494c00b8359e9.png

图9 pop和popitem进行删除

三、集合:元素之间不允许重复

集合属于python无序可变序列,使用一对大括号作为界定符,元素之间使用逗号分割,同一个集合内的元素的都是唯一的,元素之间不允许重复。

1.集合的创建与删除

>>>a={3,5}>>>type(a)<class ‘set’>
也可以使用set=()函数将列表、元组、字符串、range对象等转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个。

7c4d5ce0b4a64f5745285221b0b3518c.png

图10 创建集合

2.增加和删除集合元素

方法

说明

add()

添加新的元素,如果已存在则忽略

update()

将一个集合添加到另一个集合,自动去掉重复部分

pop()

随机删除并返回一个元素,如果集合为空则抛出异常

remove()

删除集合中的元素,如果指定元素不存在则抛出异常

discard()

从集合中删除一个特定元素,若不存在则忽略该操作

clear()

清空集合

>>>s={1,2,3}>>>s.add(3) #增加元素,重复元素自动忽略>>>s.update({3,4}) #更新当前字典,自动忽略重复元素>>>s{1,2,3,4}>>>s.discard(5)>>>s.remove(5)KeyError:5>>>s.pop()1

3.集合运算

集合运算的内置函数有:len()、max()、min()、sum()、sorted()、map()、filter()、enumerate()、还有数学意义上的交集、并集、差集等运算。

9174524f66c0ca52473ee2237ae7d8c6.png

图12 集合的运算

点击留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值