Python学习之路之数据容器大全,序列切片,以及常用方法函数详细笔记,适合初学或复习者食用


前言

这是我在CSDN上继第一篇规划后,正式的第一篇技术博客,python是这学期学校要求学的一门语言,我也是基本在网上自学,在我学习数据容器这一块时感觉内容非常多,学完第一遍后,几天没用就感觉这块知识很混乱,所以准备写这篇博客来整理这块的知识,希望对大家有所帮助,我使用的IDE为pycharm2023版,另外文章后面有我gitee仓库地址,大家可以直接下载代码阅览,废话不多说,我们直接上干货


一、列表 list[]

1.列表的定义

  • 列表使用中括号
  • 空列表有: 变量名=[]   变量名=list() 两种方法
  • 列表定义:中括号,元素类型不限,逗号分隔,列表支持钦套所有数据容器

以下为列表、元组、字符串、集合、字典嵌套

2.列表的下标索引

python列表我感觉与c语言的数组下标引用很相似,但是在python中,列表的下标支持正方向和负方向

正方向(元素从左到右):0  1  2  3...

负方向  (元素从右到左)  : -1  -2  -3...

以下使用了循环遍历

注意:如果列表嵌套了一个列表可以使用双[]进行引用修改

3.列表.index(元素)方法

功能:返回指定元素下标(正方向

注意:一次只能传一个元素

4.列表.insert(下标,元素)方法

功能:在列表指定下标位置插入一个新元素

注意:一次只能传一个下标和一个元素

5.列表.append(元素)方法

功能:在列表末尾添加指定元素

注意:一次只能添加一个元素

6.列表.extend(数据容器)方法

功能:在列表末尾添加一批元素

数据容器可以是其他数据容器,比如元组,字符串,集合,字典(只会保留key值)

7.语法:del 列表[下标]

功能:删除列表中对应下标的元素

8.列表.pop(下标)方法

功能:取出列表对应下标的元素,列表中该元素会被消除

注意:一次只能传一个下标

9.列表.remove(元素)方法

功能:移除指定元素,如有重复,移除第一个(左至右)

注意:一次只能传入一个元素

10.列表.count(元素)方法

功能:返回被统计的某个元素在列表中的数量

11.函数:len(列表)

功能:返回被统计的列表的元素个数

12.列表.clear()方法

功能:清空列表

注意:不传参

13.循环遍历

小结:

以上为python列表的常用方法和函数,python列表一共有大约35种方法,具体可以参考python官方文--3.12.2 Documentation (python.org)

列表的应用场景:一批数据,可修改,可重复的存储场景


二、元组 tuple()

1.元组的定义

  • 元组使用小括号
  • 元组元素不支持修改,其余功能与列表相同,如下标索引,循环遍历,存储任意类型元素
  • 元组也有两种空元组定义方式:变量名 = ()或 变量名 = tuple()

2.元组下标索引

同列表一样支持正方向和负方向

注意:如果元组嵌套了一个列表或另外一个元组,可以使用双[]引用

3.元组.index(元素)方法

功能:返回指定元素下标(正方向)

4.元组.count(元素)方法

功能:返回被统计的某个元素在元组中的数量

5.函数:len(元组)

功能:返回被统计的元组的元素个数

小结:

元组的方法比较少,还有一些数据容器通用的方法,在后面有说

元组的应用场景:一批数据,不可修改,可重复的存储场景

元组的循坏遍历与列表相同,同样可以使用for和while两种循环(写法相同)


三、字符串 str

1.字符串的定义

  • 字符串也是数据容器,用来存储字符,支持下标索引,但不支持修改字符元素
  • 空字符串也有两种定义:变量名 = "" 或 变量名 = str()

2.字符串的下标索引

同列表元组一样也有正负方向的索引

3.字符串.index(字符)方法

功能:返回指定字符下标(正方向)

4.字符串.replace(str1,str2)方法

功能:将str1内容替换为str2,返回替换后的str1,但不改变原str1和str2字符串内容,str1的位置也可以写想要替换的部分字符,str2为想要替换成的内容

5.字符串.split(字符)方法

功能:把字符串按某一字符分割成一个列表,返回该列表

下图为按空格字符切割

6.字符串.strip()方法

功能:不传参,去除字符串前后空格和换行符等空白字符,传参,去除字符串中传入的字符

注意:传入字符是两个及两个以上时,不看顺序,例如:传入"12",那么字符串中12和21都会被消除

7.字符串.count(字符)

功能:返回被统计的某个字符在字符串中的数量

8.函数 len(字符串)

功能:返回被统计的字符串的字符个数

小结:

以上为字符串的常用方法,当然还有很多其他的方法,虽然我也只知道这么多哈哈,剩下的有兴趣

也可以去官方文档查看

字符串的应用场景:一串字符串的存储场景

字符串同样支持for和while两种循环遍历,写法和列表相同


四、序列

1.序列的定义

序列:内容连续,有序,可使用下标索引的一类数据容器,如列表,元组,字符串

2.序列的切片操作

语法:序列[起始下标:结束下标:步长]

意义:表示从序列中,从指定位置开始,依次取出元素,到指定位置(不含)结束,得到一个新序列

  • 起始下标:表示从何处开始,可以留空,留空视作从头开始,也就是0
  • 结束下标(不含):表示何处结束,可以留空,留空视作截取到结束
  • 步长:表示依次取元素的间隔
    • 步长1表示,一个个取元素(步长1可以省略)
    • 步长2表示,每次跳过1个元素取
    • 步长N表示,每次跳过N-1个元素取
    • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

注意:结束下标如果不留空,例如4,那么切片会截取到下标3,而不含4

小结:gitee地址

前面列表、元组、字符串以及序列,代码仓库地址为:24_3_31/test.py · 心鹏编程/心鹏Python语言仓库 - 码云 - 开源中国 (gitee.com)


五、集合 set{}

1.集合的定义

  • 集合使用大括号
  • 集合相比列表、元组、字符串,最大的特点就是:集合不支持元素重复,也就是带去重功能,不支持下标索引,并且元素无序,但是支持元素修改
  • 定义语法:变量名 = {元素,元素...},   空集合:变量名 = set(),并且只有这一种空集合定义方式
  • 注意集合里的元素不能为列表、字典、而且集合也不能嵌套另一个集合,集合里元素可以为元组、字符串

以下是元素为列表、集合、字典时的报错信息

列表

集合

字典

2.集合.add(元素)方法

功能:将指定元素添加到集合内

注意:一次只能传一个元素

3.集合.remove(元素)方法

功能:将指定元素从集合内移除

注意:一次也只能传一个元素

4.集合.pop()方法

功能:随机从集合里取出元素,并且取出的元素会从集合里消失

注意:不需要传参

5.集合.clear()方法

功能:清空集合

6.集合1.difference(集合2)方法

功能:取出集合1中有的而集合2没有的元素,也叫集合1和集合2的差集,然后返回差集的集合,并且集合1和集合2不会被修改

7.集合1.difference_update(集合2)方法

功能:在集合1内消除与集合2相同的元素,所以集合1会被修改而集合2不会

等同于把集合1和集合2的差集赋给了集合1

8.集合1.union(集合2)

功能:返回由集合1和集合2组合成的新集合,而集合1和集合2不会发生变化

9.函数 len(集合)

功能:返回元素个数

10.集合的遍历

注意:集合的循环遍历仅支持for循环,不支持while循环,因为集合不支持下标索引

小结:

以上为集合的常用方法和函数

而集合的应用场景为:一批数据,去重存储场景

集合支持for循环遍历,但不支持while循环遍历


六、字典 dict{}

1.字典的定义

  • 字典语法也是使用大括号
  • 存储的元素是一个个键值对 字典名 = {key:value, key:value, ...key: value}
  • 字典中的key不允许重复,但是重复不会导致报错,重复的key后面的会覆盖前面内容,另外,字典支持嵌套字典使用,支持元素修改
  • 字典不支持下标索引,唯一的引用方式是通过key来取得对应的value,而key可以为除列表、集合、字典以外类型,比如整形、浮点型、字符型、元组类型(报错情况与集合类似)
  • 而value可以为任意类型
  • 空字典有两种定义方式:变量名 = {} 或 变量名 = dict()

2.字典的key值索引

语法:字典[key] 可以返回key对应的value值

另外,使用 字典[key] = value 

有两个效果:1.如果key存在,即修改对应的value值。2.如果key不存在,即新增一个元素

3.字典的嵌套

嵌套一个字典,即value对应的地方为一个字典

除此之外,嵌套任意数据容器都行

4.字典.pop(key)方法

功能:取出key对应的value值,同时字典中该键值对被消除

5.函数 len(字典)

功能:可以返回字典的元素数量,即键值对数

6.字典.clear()方法

功能:清空字典

7.字典.keys()方法

功能:返回字典中的全部key,返回类型为 dict_keys ,原字典不变化

注意:不传参

8.字典的遍历

keys方法可以搭配for循环达到遍历字典的效果

也可以直接使用for循环达到遍历效果

注意:字典同样不支持while循环遍历

小结:gitee地址

以上为字典的常用方法和函数

字典的应用场景:一批数据,可用key检索value的存储场景

有关集合和字典的代码仓库地址:

24_4_3/text.py · 心鹏编程/心鹏Python语言仓库 - 码云 - 开源中国 (gitee.com)


七、分类

  • 是否支持下标索引
    • 支持:列表、元组、字符串 —— 序列类型
    • 不支持:集合、字典 —— 非序列类型
  • 是否支持重复元素
    • 支持:列表、元组、字符串 —— 序列类型
    • 不支持:集合、字典 —— 非序列类型
  • 是否可以修改
    • 支持:列表、集合、字典
    • 不支持:元组、字符串


八、数据容器的通用操作

1.len()函数

功能:计算元素个数

2.max()函数

功能:返回最大值(看ASCII码值)

注意:字典是比较key值

3.min()函数

功能:返回最小值(看ASCII码值)

注意:字典是比较key值

4.list(数据容器)

功能:返回被强制转换为列表的列表,不会影响原数据容器类型和内容

注意:字典只会保留key值

5.tuple(数据容器)

功能:返回被强制转换为元组的元组,不会影响原数据容器类型和内容

注意:字典只会保留key值

6.str(数据容器)

功能:返回被强制转换为字符串的字符串,不会影响原数据容器类型和内容

注意:字典内容会被全部保存

注意:以上我们发现强制转为字符串好像什么都没有改变,包括字典,其实是pycharm在输出时去掉了双引号,本质已经是字符串了

如图

7.set(数据容器)

功能:返回被强制转换为集合的集合,不会影响原数据容器类型和内容

注意:字典只会保留key值

8.sorted(容器,reverse=True)

功能:当我们不传reverse参数时,它默认是False,此时函数会返回该容器元素从小到大排列的列表,如果传参True,则返回元素从大到小的列表

注意:不会影响原数据容器类型和内容,并且是以ASCII码值进行排序

reverse不传参:

reverse传参True:

reverse传False

小结:gitee地址

在max()、min()函数中,是以ASCII码值比较

在容器类型的强制转换中,除了str()会保留字典的全部内容,其他的强制转换会丢失字典的value值

并且没有强制转化为字典的语法,因为字典格式要求为键值对

在sorted(容器,reverse=True)中,reverse不传参与传参False效果一样

数据容器的通用操作代码仓库地址:

24_4_4/text.py · 心鹏编程/心鹏Python语言仓库 - 码云 - 开源中国 (gitee.com)


总结

以上就是数据容器的全部基础内容了,希望对大家有所帮助,如果有哪里写得不严谨或者出现错误,或者需要补充,可以在评论区指出来哦,我会很感谢大家的,有问题也可以提出来哦,我看到了一定会回复的

  • 35
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值