Python列表、元组、集合、字典


Python语言中有四种集合数据类型:

  • 列表(list) 是一种有序和可更改的集合,允许重复的成员。
  • 元组(Tuple) 是一种有序且不可更改的集合。允许重复的成员。
  • 集合(Set) 是一个无序和无索引的集合,没有重复的成员。
  • 词典(Dictionary) 是一个无序,可变和有索引的集合。没有重复的成员。
    选择集合类型时,了解该类型的属性很有用。为特定的数据集选择正确的类型可能意味着保留含义,并且可能意味着提高效率或安全性。

一、列表

列表十一个有序且可更改的集合。在Python中,列表用方括号编写。

1.创建列表

在这里插入图片描述

2.访问项目

索引和负的索引

可以通过索引号访问列表项,也可以通过负的索引访问,负索引表示从末尾开始,-1表示最后一个项目,-2表示倒数第二个项目,依此类推:
在这里插入图片描述

索引范围和负的索引范围

可以通过指定范围的起点和终点来指定索引范围。指定范围后,返回值将是包含制定项目的新列表。如果要从列表末尾开始搜索,则需要指定负的索引范围:
在这里插入图片描述
注:第一项的索引为0。

更改项目值

如需更改特定的项目值,则使用索引号。
更改列表中的第三项:
在这里插入图片描述

遍历列表

可以使用for循环遍历列表项,逐个打印列表中的所有项目:
在这里插入图片描述
有关for循环的知识我们后面进行深入学习。

检查项目是否存在

如需检查列表中是否存在指定的项,请使用 in 关键字:

在这里插入图片描述

3.列表长度

如需确定列表中有多少项,则使用len()方法:
在这里插入图片描述

4.添加和删除项目

添加项目:如需将项目添加到列表的末尾,使用 append() 方法,在指定的索引处添加项目,使用 insert() 方法:
在这里插入图片描述
在这里插入图片描述

删除项目:有几种方法可以将项目从列表中删除:

remove() 方法删除指定的项目;①
pop() 方法删除指定的索引(如果未指定索引,则删除最后一项);②
del 关键字删除指定的索引,也能完整地删除列表;③
del list[:] 方法清空列表。④


在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.复制和合并列表

复制列表:只能通过键入list2 = list1 来复制列表,因为:list2将只是对list1的引用,list1中所做的更改也将自动在list2中进行:
使用 list() 方法复制列表:
在这里插入图片描述
合并两个列表:在python中,有几种方法可以连接或串联两个或多个列表,最简单的方法之一就是使用 + 运算符
在这里插入图片描述
连接两个列表的另一种方法是将 list2 中的所有项一个接一个地追加到 list1 中:
在这里插入图片描述
使用 extend() 方法将 list2 添加到 list1 的末尾:
在这里插入图片描述

6.list构造函数

也可以使用 list() 构造函数创建一个新列表。
使用 list() 构造函数创建列表:
在这里插入图片描述
列表方法
Python 有一组可以在列表上使用的内建方法。

方法描述
append()在列表的末尾添加一个元素
clear()删除列表中的所有元素
copy()返回列表的副本
count()返回具有指定值的元素数量。
extend()将列表元素(或任何可迭代的元素)添加到当前列表的末尾
index()返回具有指定值的第一个元素的索引
insert()在指定位置添加元素
pop()删除指定位置的元素
remove()删除具有指定值的项目
reverse()颠倒列表的顺序
sort()对列表进行排序

二、元组

元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。

1.元组的特点

1、与列表相似,不同之处就在于元组的元素不能被修改。
2、列表使用的是中括号“[]”,元组使用的是小括号“()”。
3、列表属于可变类型,元组属于不可变类型。
4、Python内部对元组进行了大量的优化,访问喝处理速度都比列表快。

2.元组的创建和访问

创建元组

在这里插入图片描述

访问元组项目

可以通过引用方括号内的索引号来访问元组项目:
打印元组中的第二个项目:
在这里插入图片描述
负索引:负索引表示从末尾开始,-1表示最后一个项目,-2表示倒数第二个项目,以此类推。
打印元组的最后一个项目:
在这里插入图片描述
索引范围: 通过指定范围的起点和终点来指定索引范围,指定范围后,返回值将是带有指定项目的新元组。如果要从元组的末尾开始搜索,则指定负索引。
在这里插入图片描述
注:正索引的第一项索引为0,搜索将从起始位置(包括)开始,到结尾位置(不包括)结束。上面的例子返回的则是从索引-4(包括)到索引 -1(排除)的项目。

更改元组值

创建元组后,无法更改其值,元组是不可变的,或者也可以称为恒定的,但有一种解决方法,可以将元组转换为列表,更改列表,然后将列表转换回元组。
在这里插入图片描述

遍历元组

可以使用for循环遍历元组项目
遍历项目并打印值:
在这里插入图片描述

检查项目是否存在

要确定元组中是否存在指定的项,则使用in关键字 :
检查元组中是否存在“apple”:
在这里插入图片描述

元组长度

要确定元组有多少项,请使用 len() 方法:
在这里插入图片描述

3.添加和删除项目

元组一旦创建,就无法向其添加项目,也无法从中删除项目,元组是不可改变的但可以完全删除元组。

del关键字可以完全删除元组:
在这里插入图片描述

创建有一个项目的元组

如需创建仅包含一个项目的元组,必须在该项目后添加一个逗号,否则 Python 无法将变量识别为元组。
在这里插入图片描述

不加“,”,就会变成字符串:
在这里插入图片描述

4.合并两个元组

如需连接两个或多个元组,可以使用+ 运算符:
合并这个元组:
在这里插入图片描述

5.tuple() 构造函数

也可以使用tuple() 构造函数来创建元组。
在这里插入图片描述

元组方法

Python 提供两个可以在元组上使用的内建方法。

方法描述
count返回元组中指定值出现的次数
index在元组中搜索指定的值并返回它被找到的位置

三、集合

集合是python提供的内置数据结构,属于可变序列;
集合就是没有value的字典,数据存储和也使用哈希
集合是无序和无索引的集合。在 Python 中,集合用花括号编写

1.集合的创建和访问

创建集合

在这里插入图片描述
注: 集合是无序的,因此无法确定项目的显示顺序。

访问项目

无法通过引用索引来访问 set中的项目,因为 set 是无序的,项目没有索引。但可以使用 for 循环遍历 set 项目,或者使用 in 关键字查询集合中是否存在指定值。

遍历集合,并打印值:
在这里插入图片描述
检查set中是否存在“banana”:
在这里插入图片描述
更改项目:
集合一旦创建,就无法更改项目,但是可以添加新项目。

2.添加和删除项目

要想添加一个项目到集合,请使用add()方法,要向集合中添加多个项目,请使用update()方法。
使用add()方法向set添加项目:

在这里插入图片描述
使用 update() 方法将多个项添加到集合中:

在这里插入图片描述要删除集合中的项目,请使用 remove()discard() 方法。
使用 remove() 方法来删除 “banana”:

在这里插入图片描述
使用 discard() 方法来删除 “banana”:

在这里插入图片描述
注: 如果要删除的项目不存在,remove()会引发错误,而discard()不会引发错误。
还可以使用 pop() 方法删除项目,但此方法将删除最后一项。请记住,set 是无序的,因此我们不会知道被删除的是什么项目,pop() 方法的返回值是被删除的项目。

使用 pop() 方法删除最后一项:
在这里插入图片描述
del 彻底删除集合:
在这里插入图片描述

3.合并两个集合

在 Python 中,有几种方法可以连接两个或多个集合。
可以使用 union() 方法返回包含两个集合中所有项目的新集合,也可以使用 update() 方法将一个集合中的所有项目插入另一个集合中:

union() 方法返回一个新集合,其中包含两个集合中的所有项目:
在这里插入图片描述
update() 方法将 set2 中的项目插入 set1 中:
在这里插入图片描述
注:union() 和 update() 都将排除任何重复项

4.set()构造函数

可以使用set() 构造函数来创建集合:
在这里插入图片描述
set()方法

方法描述
add()向集合添加元素。
clear()删除集合中的所有元素。
copy()返回集合的副本。
difference()返回包含两个或更多集合之间差异的集合。
difference_update()删除此集合中也包含在另一个指定集合中的项目。
discard()删除指定项目。
intersection()返回为两个其他集合的交集的集合。
intersection_update()删除此集合中不存在于其他指定集合中的项目。
isdisjoint()返回两个集合是否有交集。
issubset()返回另一个集合是否包含此集合。
issuperset()返回此集合是否包含另一个集合。
pop()从集合中删除一个元素。
remove()删除指定元素。
symmetric_difference()返回具有两组集合的对称差集的集合。
symmetric_difference_update()插入此集合和另一个集合的对称差集。
union()返回包含集合并集的集合。
update()用此集合和其他集合的并集来更新集合。

四、字典

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。

1.字典的创建和访问

创建并打印字典:

在这里插入图片描述

访问项目

可以通过在方括号内引用其键名来访问字典的项目:
在这里插入图片描述
也可以使用get() 方法,会获得相同的结果。
在这里插入图片描述

更改值

可以通过引用其键名来更改特定的值:
“year”改为2022

在这里插入图片描述

遍历字典

可以使用 for 循环遍历字典。
循环遍历字典时,返回值是字典的键,但也有返回值的方法。
逐个打印字典中的所有键名:
在这里插入图片描述
逐个打印字典中的所有值:
在这里插入图片描述
还可以使用 values() 函数返回字典的值:
在这里插入图片描述

通过使用 items() 函数遍历键和值:
在这里插入图片描述

检查键是否存在

要确定字典中是否存在指定的键,请使用in关键字:
检查字典中是否存在model:
在这里插入图片描述

字典长度

要确定字典有多少项目(键值对),请使用len()方法。
打印字典中的项目数:
在这里插入图片描述

2.添加和删除项目

添加项目

通过使用新的索引键并为其赋值,可以将项目添加到字典中:

在这里插入图片描述

删除项目

有几种方法可以从字典中删除项目:
pop()方法删除具有指定键名的项:
在这里插入图片描述
popitem() 方法删除最后插入的项目(在 3.7 之前的版本中,删除随机项目):

在这里插入图片描述
del 关键字删除具有指定键名的项目:
在这里插入图片描述

复制字典

不能通过dict2 = dict1来复制字典,因为:dict2只是对dict1的引用,而dict1中的更改也将自动在dict2中进行。
有一些方法可以进行复制,一种方法是使用内建的字典方法copy()
使用copy()方法来复制字典:
在这里插入图片描述
制作副本的另一种方法是使用内建方法 dict()
使用 dict() 方法创建字典的副本:
在这里插入图片描述

嵌套字典

词典中也可以包含许多字典,这些被称为嵌套字典:
在这里插入图片描述

3.dict() 构造函数

可以使用dict() 构造函数创建新的字典:
在这里插入图片描述

字典方法:

Python 提供一组可以在字典上使用的内建方法。

方法描述
clear()删除字典中的所有元素
copy()返回字典的副本
fromkeys()返回拥有指定键和值的字典
get()返回指定键的值
items()返回包含每个键值对的元组的列表
keys()返回包含字典键的列表
pop()删除拥有指定键的元素
popitem()删除最后插入的键值对
setdefault()返回指定键的值。如果该键不存在,则插入具有指定值的键。
update()使用指定的键值对字典进行更新
values()返回字典中所有值的列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值