Python基础之数据结构详解


Posted in Python onApril 28, 2021

一、列表

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

示例:
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数据结构详解内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python采集腾讯新闻实例
Jul 10 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
Python socket编程实例详解
May 27 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
python opencv之SIFT算法示例
Feb 24 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
python celery分布式任务队列的使用详解
Jul 08 Python
python 利用turtle模块画出没有角的方格
Nov 23 Python
Python中Yield的基本用法
Oct 18 Python
python selenium 获取接口数据的实现
Dec 07 Python
Python函数式编程中itertools模块详解
Sep 15 Python
Python基础详解之邮件处理
python实现黄金分割法的示例代码
Apr 28 #Python
Python 流媒体播放器的实现(基于VLC)
tensorflow+k-means聚类简单实现猫狗图像分类的方法
python实现三阶魔方还原的示例代码
python基于opencv批量生成验证码的示例
python基于tkinter制作下班倒计时工具
Apr 28 #Python
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
innerText 使用示例
2014/01/23 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
[01:04:14]VP vs TNC 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
python截取两个单词之间的内容方法
2018/12/25 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
Delphi CS笔试题
2014/01/04 面试题
教师对学生的寄语
2014/04/03 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
小学家长通知书评语
2014/12/31 职场文书
干部年终考核评语
2015/01/04 职场文书
2015年酒店工作总结
2015/04/28 职场文书
奖金申请报告模板
2015/05/15 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
python用字节处理文件实例讲解
2021/04/13 Python
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python