IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Python基础之列表、元组、字典、集合 -> 正文阅读

[数据结构与算法]Python基础之列表、元组、字典、集合


前言

????????Hello,各位小伙伴大家好,我是紫水晶的微光。本篇文章介绍Python的列表、元组、字典、集合。快来跟我一起学习吧!


????????列表、元组、字典、集合都是Python内置的数据类型。

一、列表List

1.定义列表

1.格式:列表名=[元素1,元素2,元素3,元素4]
例如:

list = [1,2,3,4]

2. 创建空列表如下所示:

list1 = []

2.基本操作

1. 添加
(1)append()方法:默认把值添加到列表末尾。

list = [1,2,3,4]
list.append(5)
print(list)

结果为:

[1, 2, 3, 4, 5]

(2)insert()方法:在指定位置插入值。

list = [1,2,3,4]
list.insert(1,5)
print(list)

结果为:

[1, 5, 2, 3, 4]

2.修改
通过角标修改列表的值。例如:

list = [1,2,3,4]
list[0]=8
print(list)

结果为:

[8, 2, 3, 4]

3.删除
删除值
(1)remove()方法:删除某个值。

list = [1,2,3,4]
list.remove(4)
print(list)

结果为:

[1, 2, 3]

注意:如果该列表里存在相同的元素,删除列表里其中一个,并不是删除全部的。

(2)pop()方法:若不提供角标则默认删除列表的最后一个值。否则删除指定角标对应的值。

list = [1,2,3,4]
list.pop()
print(list)
list.pop(0)
print(list)

删除全部列表值
(1)clear()方法:将列表的元素全部清空。

list = [1,2,3,4]
list.clear()
print(list)

结果为:

[]
(2)del list,删除创建的列表。例如:
list = [1,2,3,4]
del list

4.查找
(1)index()方法:查找元素所对应的角标。

list = [1,2,3,4]
value = list.index(3)
print(value)

结果为:

2

(2)通过角标访问元素。

list = [1,2,3,4]
print(list[2])

结果为:

3

5. 统计
count()方法:统计某个元素在列表出现的次数。

list = [1,2,3,4,3,5,1]
num = list.count(3)
print(num)

结果为:

2

6.排序
sort()方法:默认从小到大排序

list = [1,2,3,4,3,5,1]
list.sort()
print(list)

结果为:

[1, 1, 2, 3, 3, 4, 5]

注意:列表中元素类型相同时,才能使用排序方法。

7. 切片

(1)打印[1,3,4,8]可以使用list[0:4]。如下所示:

list = [1,3,4,8,7,5,6,9]
print(list[0:4])

注意:
1、list[0:4]表示从角标为0到4-1的元素
2、若切片的前面的起始角标不写默认从0开始。
3、list[:4]与list[0:4]是一样的效果。
4、list[-5:-1],从列表的后面开始往前数分别为-1,-2……
5、list[0:-3:2]:表示从0角标开始到倒数第四个数结束。中间隔一个数打印一下。

3.列表推导式

1.创建列表[1,2,3,…10]。
代码:

list = [i for i in range(1,11)]
print(list)

结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2.创建列表[2,4,6…10]。
代码:

list = [i for i in range(1,11) if i%2==0]
print(list)

结果:

[2, 4, 6, 8, 10]

3.创建列表[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)]。
代码:

list = [(x,y) for x in range(1,3) for y in range(1,4)]
print(list)

结果:

[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)]

4.特点

????相当于c/c++语言里面的数组。列表元素的角标是从0开始的。

二、元组Tuple

1.定义元组

1.格式:元组名=(元素1,元素2,元素3,元素4)
例如:

tuple = (1,2,3,4)

2. 创建空元组如下所示:

tuple1 = ()

2.基本操作

1.查找
(1)index()方法:查找元素所对应的角标。

tuple = (1,2,3,4)
value = tuple .index(3)
print(value)

结果为:

2

(2)通过角标访问元素。

tuple = (1,2,3,4)
print(tuple[2])

结果为:

3

2.统计
count()方法:统计某个元素在元组出现的次数。

tuple = (1,2,3,4,1,5,1)
value = tuple .count(1)
print(value)

结果为:

3

4.特点

1. 元组的值无法修改,初始化后,后期不能更改。
2. 当创建的元组只有一个元素时,要在第一个元素后面加英文逗号。

三、字典Dictionary

1.定义字典

1.格式:字典名={键1:值1,键2:值2,键3:值3}
例如:

dict={"name":"小红","年龄":18,"籍贯":"山西"}

2. 创建空字典如下所示:

dict1 = {}

2.基本操作

1.添加
dict[key]=value。

dict={}
dict["性别"]="女"
print(dict)

结果为:

{'性别': '女'}

2.修改
dict[key]=value。通过键修改值

dict={"name":"小红","年龄":18}
dict["年龄"]=20
print(dict)

结果为:

{'name': '小红', '年龄': 20}

3.删除
删除值
(1)pop()方法:删除指定键对应的键值对。

dict={"name":"小红","年龄":18,"籍贯":"山西","性别":"女"}
dict.pop("籍贯")
print(dict)

结果为:

{'name': '小红', '年龄': 18, '性别': '女'}

(2)del dict[key]。删除字典中某一个值。

dict={"name":"小红","年龄":18,"籍贯":"山西","性别":"女"}
del dict["性别"]
print(dict)

结果为:

{'name': '小红', '年龄': 18, '籍贯': '山西'}

删除全部键值
(1)clear()方法:将字典的键值对全部清空。

dict={"name":"小红","年龄":18,"籍贯":"山西","性别":"女"}
dict.clear()
print(dict)

结果为:

{}
(2)del dict,删除创建的字典。例如:
dict={"name":"小红","年龄":18,"籍贯":"山西","性别":"女"}
del dict

4.查找
通过键访问值。

dict={"name":"小红","年龄":18,"籍贯":"山西","性别":"女"}
value = dict["年龄"]
print(value )

结果为:

18

5.判断字典的键是否存在
in关键字:判断键是否在字典里存在。

dict={"name":"小红","年龄":18,"籍贯":"山西","性别":"女"}
if "name" in dict:
	print("Yes" )

结果为:

Yes

3.特点

1. 字典是无序的。
2. 字典的键必须唯一。
3. 字典的键不能使用可变数据类型。

四、集合Set

1.定义集合

1.格式:集合名={元素1,元素2,元素3,元素4}
例如:

set = {1,5,7,9,11,2}

2. 创建空集合如下所示:

set1 = set()

2.基本操作

1.添加
(1)add()方法:添加一个集合元素。

set = set()
set.add(1)
print(set)

结果为:

{1}

(2)update()方法:向集合中添加其他集合元素,添加多项

set = {1,2,3,4}
set1={4,5,6,7}
set.update(set1)
print(set)

结果为:

{1, 2, 3, 4, 5, 6, 7}

3.删除
删除值
(1)remove()方法:集合里有某个元素则删除,否则什么也不做。

set = {1,2,3,4}
set.remove(2)
print(set)

结果为:

{1, 3, 4}

(2)discard()方法:集合里有某个元素则删除,否则什么也不做。

set = {1,2,3,4}
set.discard(3)
print(set)

结果为:

{1, 2, 4}

删除全部集合
(1)clear()方法:将集合内的值全部清空。

set = {1,2,3,4}
set.clear()
print(set)

结果为:空集合

set()

(2)del set:删除创建的集合。

set = {1,2,3,4}
del set 

4.判断集合的元素是否存在
in关键字:判断元素是否在集合里存在。

set = {1,2,3,4}
if 2 in set:
	print("ok")

结果为:

ok

5.两集合求交集
用intersection()方法或者用 & 符号可以求两集合的交集。

set = {1,2,3,4}
set1 = {2,5,4,3}
print(set.intersection(set1))
print(set&set1)

结果为:

{2, 3, 4}
{2, 3, 4}

6.两集合求并集
用union()方法或者用 | 符号可以求两集合的并集。

set = {1,2,3,4}
set1 = {2,5,4,3}
print(set.union(set1))
print(set|set1)

结果为:

{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}

7.两集合求差集
用difference()方法或者用 - 符号可以求两集合的差集。A集合相对于B集合的差集,就是A集合减去AB的交集;B集合相对于A集合的差集,就是B集合减去AB的交集。

set = {1,2,3,4}
set1 = {2,5,4,3}
print(set.difference(set1))
print(set-set1)
print(set1.difference(set))
print(set1-set)

结果为:

{1}
{1}
{5}
{5}

8.两集合求对称差集
用symmetric_difference()方法或者用 ^ 符号可以求两集合的对称差集。两个集合分别差集后,合并成一个集合。

set = {1,2,3,4}
set1 = {2,5,4,3}
print(set.symmetric_difference(set1))
print(set^set1)

结果为:

{1, 5}
{1, 5}

9.判断某个集合是否是另一个集合的子集
用issubset()方法可以判断某个集合是否是另一个集合的子集。

set = {2,3,4}
set1 = {2,5,4,3}
print(set.issubset(set1))

结果为:

True

3.特点

1. 无序性:集合里的值是无序的。
2. 唯一性:集合里的值不能重复。列表可以通过转换成集合去重。


总结

????????本篇文章到这里就结束了,欢迎各位小伙伴点赞、评论、关注。我们共同学习,一起进步!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:38:08  更:2021-10-18 17:39:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:46:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码