广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python基础之数据结构详解
  • 790
分享到

Python基础之数据结构详解

2024-04-02 19:04:59 790人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、列表1.1 列表更新元素1.2 列表增加元素1.3 列表删除元素1.4 列表的其他操作二、元组2.1 删除元组2.2 元组的其他操作三、字典3.1 字典删除元素3.2 字典的

一、列表

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来


示例:
list01 = ['a','b','c']

1.1 列表更新元素

一个列表是可以储存不同的类型的数据结构,并且修改的新元素也不一定需要和原来的元素类型一致,但是要注意的是,更新列表的索引必须是已存在的索引,不能对超出列表的索引更新元素

1.2 列表增加元素

增加元素的方法:

1.append方法:在列表的最后增加一个元素。


list01 = ['a', 'b', 'c']
list01 .append('d')
print(list01)
list01 .append(['e', 'f'])
print(list01)
执行结果:
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', ['e', 'f']]

2.extend方法:在列表的最后增加多个元素。


list01 = ['a', 'b', 'c']
list01 .extend(['d', 'e', 'f'])
print(list01)
执行结果:
['a', 'b', 'c', 'd', 'e', 'f']

3.insert方法:在列表的中间插入一个元素。


list01 = ['a', 'b', 'c']
list01 .insert(1,'d')
print(list01)
执行结果:
['a', 'd', 'b', 'c']

1.3 列表删除元素

删除元素的方法:

1.pop方法:pop(index)可以删除指定位置的元素,并且把这个元素作为返回值返回,如果不指定位置则默认选择最后一个元素。


list01 = ['a', 'b', 'c']
list01 .pop()
print(list01)
list01 .pop(0)
print(list01)
执行结果:
['a', 'b']
['b']

2.remove方法:可以根据元素内容对元素进行删除。


list01 = ['a', 'b', 'c']
list01.remove('a')
print(list01)
执行结果:
['b', 'c']

3.del方法:还可以使用关键字“del”根据索引删除列表的元素。


list01 = ['a', 'b', 'c']
print(list01)
del list01 [0]
print(list01)
执行结果:
['a', 'b', 'c']
['b', 'c']

1.4 列表的其他操作

1.index方法:查找元素在列表中的索引位置。


list01 = ['a', 'b', 'c']
print(list01 .index('a'))
print(list01 .index('b'))
执行结果:
0
1

2.reverse方法:反转队列,反转原来的队列,并且没有返回值。


list01 = ['a', 'b', 'c']
list01 .reverse()
print(list01)
执行结果:
['c', 'b', 'a']

3.count方法:统计某个元素在列表中的次数。


list01 = ['a', 'b', 'c','b', 'c']
print(list01 .count('a'))
print(list01 .count('b'))
执行结果:
1
2

4.sort方法:队列表进行排序,还可以自定义排序方式。


list02 = [1,88,66,22]
list02.sort()
print(list02)
执行结果:
[1, 22, 66, 88]

二、元组

创建一个元组,只要把逗号分隔的不同的数据项使用小括号括起来
如果元组中只有一个元素,还需要元素后加上“,”,才能定义一个元组


tuple01 = ('a','b','c')

2.1 删除元组

由于元组是不能修改的,所以元组也不能单独删除,只能删除整个元组

1.del方法:删除整个元组


tuple01 = ('a','b','c')
del tuple01 
print(tuple01)
执行结果:
发生异常: NameError
name 'tuple01' is not defined
发生异常是正确的,说明tuple01 已经被删除了

2.2 元组的其他操作

1.count方法:用于统计元素在元组中出现的次数


tuple02 = ('a', 'b', 'c','b', 'c')
print(tuple02.count('a'))
print(tuple02.count('b'))
执行结果:
1
2

2.index方法:用于查找元素在元组中的索引位置


tuple02 = ('a', 'b', 'c','b', 'c')
print(tuple02.index('a'))
print(tuple02.index('b'))
执行结果:
0
1

3.len方法:计算元组元素个数


tuple02 = ('a', 'b', 'c','b', 'c')
print(len(tuple02))
执行结果:
5

4.max,min方法返回元组中最大,最小的值


tuple02 = (1, 88, 66, 22)
print(max(tuple02))
print(min(tuple02))
执行结果:
88
1

三、字典

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。


dict01 = {'a':'深圳','b':22,'c':22.22}

3.1 字典删除元素

1.del方法:使用关键字“del”根据键删除列表的元素


dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
del dict01['a']
print(dict01)
执行结果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{'b': 22, 'c': 22.22}

3.2 字典的其他操作

1.clear方法:用于清空字典里的所有元素,使字典变为空字典。


dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
dict01.clear()
print(dict01)
执行结果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{}

2.copy方法:返回一个具有相同键值对的新字典。


dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
dict01.copy()
print(dict01)
执行结果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{'a': '深圳', 'b': 22, 'c': 22.22}

3.fromkeys方法:用于创建一个新字典,用序列中的元素作为字典的键,第二个参数为字典所有参数对应的初始值。


tuple01 = ("name","age","city")
hunan1 = dict.fromkeys(tuple01)
human2 = dict.fromkeys(tuple01,20)
print(hunan1)
print(human2)
执行结果:
{'name': None, 'age': None, 'city': None}
{'name': 20, 'age': 20, 'city': 20}

4.get方法:返回键对应的值,如果字典不存在对应的键则返回none


dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.get('a'))
print(dict01.get('d'))
执行结果:
深圳
None

5.keys方法:返回一个列表,里面包含了字典里的所有键


dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.keys())
执行结果:
dict_keys(['a', 'b', 'c'])

6.valuse方法:返回一个列表,里面包含了字典的所有值


dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.values())
执行结果:
dict_values(['深圳', 22, 22.22])

7.items方法:返回一个列表,里面包含了所有键值对的列表


dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.items())
执行结果:
dict_items([('a', '深圳'), ('b', 22), ('c', 22.22)])

还可以使用items方法来遍历字典


dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
for k, v in dict01.items():
    print(k,v)
执行结果:
a 深圳
b 22
c 22.22

四、集合

集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。


set01 = {1, 2, 2, 2, 2, 3, }
print(set01)
set02 = {1, 2, 3, }
print(set02)
执行结果:
{1, 2, 3}
{1, 2, 3}

4.1 集合添加元素

1.add方法:为集合添加一个元素


set01 = {1, 2, 3}
set01.add(4)
set01.add(3)
print(set01)
执行结果:
{1, 2, 3, 4}

4.2 集合删除元素

1.remove方法:为集合删除一个元素


set01 = {1, 2, 3}
set01.remove(1)
print(set01)
执行结果:
{2, 3}

五、其他操作


1.clear()	移除集合中的所有元素
	2.copy()	拷贝一个集合
	3.difference()	返回多个集合的差集
	4.difference_update()	移除集合中的元素,该元素在指定的集合也存在。
	5.discard()	删除集合中指定的元素
	6.intersection()	返回集合的交集
	7.intersection_update()	返回集合的交集。
	8.isdisjoint()	判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
	9.issubset()	判断指定集合是否为该方法参数集合的子集。
	10.issuperset()	判断该方法的参数集合是否为指定集合的子集
	11.pop()	随机移除元素
	12.symmetric_difference()	返回两个集合中不重复的元素集合。
	13.symmetric_difference_update()	移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集
	14.合中不同的元素插入到当前集合中。
	15.uNIOn()	返回两个集合的并集
	16.update()	给集合添加元素

到此这篇关于Python基础之数据结构详解的文章就介绍到这了,更多相关python数据结构详解内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python基础之数据结构详解

本文链接: https://www.lsjlt.com/news/124857.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python基础之数据结构详解
    目录一、列表1.1 列表更新元素1.2 列表增加元素1.3 列表删除元素1.4 列表的其他操作二、元组2.1 删除元组2.2 元组的其他操作三、字典3.1 字典删除元素3.2 字典的...
    99+
    2022-11-12
  • Python基础必备之语法结构详解
    目录Python 语句续行隐式续行的方式显式续行的方式每行多语句注释空白字符空格作为缩进Python 语句 语句是 Python 解释器解析和处理的基本指令单元。通常解释器按顺序一个...
    99+
    2022-11-10
  • Python基础教程之控制结构详解
    目录0. 学习目标1. 代码块与缩进2. 条件语句2.1 if 语句2.2 if 语句的嵌套2.3 断言3. 循环3.1 while 循环3.2 for 循环3.3 中断循环4. 控...
    99+
    2022-11-12
  • C++LeetCode数据结构基础详解
    目录一、只出现一次的数字二、多数元素三、三数之和总结一、只出现一次的数字 遍历一遍数组利用异或的特性来实现(相同为0,相异为1 ) 例如[4,1,2,1,2] 4和1异或为5 5和...
    99+
    2022-11-12
  • Java基础之switch分支结构详解
    目录一、基本语法二、流程图三、快速入门四、switch 注意事项和细节讨论五、switch 课堂练习六、switch 和 if 的比较一、基本语法 二、流程图 1.画出 swtic...
    99+
    2022-11-12
  • Python基础之数据类型详解
    目录一、整数二、浮点数三、复数四、运算符,优先级以及结合性五、混合类型计算六、除法七、十进制,八进制,十六进制和二进制八、位操作九、集合十、布尔类型十一、其他数值类型一、整数 pyt...
    99+
    2022-11-12
  • Java数据结构之图的基础概念和数据模型详解
    目录图的实际应用图的定义及分类图的相关术语图的存储结构邻接矩阵邻接表图的实现图的API设计代码实现图的实际应用 在现实生活中,有许多应用场景会包含很多点以及点点之间的连接,而这些应用...
    99+
    2022-11-13
    Java数据结构 图 Java 图
  • Python数据结构之栈详解
    目录0. 学习目标1. 栈的基本概念1.1 栈的基本概念1.2 栈抽象数据类型1.3 栈的应用场景2. 栈的实现2.1 顺序栈的实现2.1.1 栈的初始化2.2 链栈的实现2.3 栈...
    99+
    2022-11-13
  • Python数据结构之队列详解
    目录0. 学习目标1. 队列的基本概念1.1 队列的基本概念1.2 队列抽象数据类型1.3 队列的应用场景2. 队列的实现2.1 顺序队列的实现2.2 链队列的实现2.3 队列的不同...
    99+
    2022-11-13
  • 详解python数据结构之栈stack
    前言 栈(Stack)是一种运算受限的线性表。 按照先进后出(FILO,First In Last Out)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。栈只能在一端进行插入和删除操作。 文章内容包含: ...
    99+
    2022-06-02
    python 栈stack python数据结构
  • Python数据结构之链表详解
    目录0.学习目标1.线性表的链式存储结构1.1指针相关概念1.2指针结构1.3结点1.4结点类2.单链表的实现2.1单链表的初始化2.2获取单链表长度2.3读取指定位置元素2.4查找...
    99+
    2022-11-12
  • Python数据结构之图的存储结构详解
    一、图的定义 图是一种比树更复杂的一种数据结构,在图结构中,结点之间的关系是任意的,任意两个元素之间都可能相关,因此,它的应用极广。图中的数据元素通常被称为顶点 ( V e r t ...
    99+
    2022-11-12
  • Redis基础数据结构
    Redis数据结构:String、Hash、List、Set、ZSet(每种数据结构均包含两种以上的内部编码) Redis单线程架构: 1. 纯内存访问 2. 非阻塞I/O (采用多路复用技术epoll) 3. 减少了线程切换和竞态产生的消...
    99+
    2016-07-28
    Redis基础数据结构
  • 详解python数据结构之队列Queue
    目录一、前言二、Queue的基本格式三、入队列函数 en_queue四、删除数据函数 de_queue一、前言 队列Queue是一种先进先出(FIFO,First In First ...
    99+
    2022-11-12
  • Python基础知识+结构+数据类型
    目录前言一、编程基础1.基本的输入输出2.变量3.基本运算符二、控制流程1.选择结构2.循环结构三、数据类型1.字符串前言 今天给大家分享一些Python的基础知识,想要盖好大房子,...
    99+
    2022-11-11
  • Java基础总结之Thymeleaf详解
    目录一、Thymeleaf语法1.1 变量表达式${…}1.2 选择变量表达式*{…}1.3 消息表达式 #{…}1.4 链接表达式 @{…}1.5 片段表达式 ~{…}二、基本使用...
    99+
    2022-11-12
  • JS数据结构之队列结构详解
    目录一.认识队列二.队列的应用三.队列类的创建四.队列的常见操作五.击鼓传花六.优先级队列七.优先级队列的实现一.认识队列 受限的线性结构: 我们已经学习了一种受限的线性结构:栈结构...
    99+
    2022-11-13
    JS队列结构 JS队列 JS 数据结构
  • java数据结构基础:栈
    目录准备工作编码环节push方法pop方法empty方法全部代码总结准备工作 工具:idea+jdk8 技术要求:java基础语法 编码环节 首先,我们得先确定下来,用什么数据来模拟...
    99+
    2022-11-12
  • java基础详解之数据类型知识点总结
    目录一、基本数据类型1.1 整形1.1.1 int1.1.2 长整形:long1.1.3 短整形:short1.2 浮点型1.2.1 双精度浮点型:double1.2.2 单精度浮点...
    99+
    2022-11-12
  • python基础之匿名函数详解
    目录1.匿名函数介绍2.语法3.使用场景4.匿名函数和普通函数的对比5.匿名函数的多种形式6.lambda 作为一个参数传递7. lambda函数与python内置函数配合使用8.l...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作