热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python基础学习笔记十二(序列)

版权声明:本文为小异常原创文



版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!

本文网址:https://blog.csdn.net/sun8112133/article/details/95882859


文章目录

  • 一、序列分类
  • 二、修改序列
    • 1、通过索引直接修改元素
    • 2、通过切片修改元素
    • 3、通过切片步长修改元素
  • 三、删除元素
    • 1、通过 del 删除指定索引的元素
    • 2、通过切片删除元素
    • 3、通过切片步长删除元素
  • 四、序列方法(只对可变序列使用)
  • 五、遍历序列
    • 1、普通遍历方式(通过索引遍历)
    • 2、while循环遍历
    • 3、for循环遍历
  • 六、range()函数
    • 1、语法格式
    • 2、使用
    • 3、案例代码










序列(sequence) 是Python中最基本的一种数据结构。它用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)。

序列 中的数据会按照添加的顺序来分配索引。

Python基础学习笔记十二(序列) - 文章图片



一、序列分类

  • 可变序列(序列中的元素可以改变)

    • 列表(list)



  • 不可变序列(序列中的元素不能改变)

    • 字符串(str)

    • 元组(tuple)



  • 注意: 只能修改可变序列的元素,而不可变序列的元素是不能改变的!!如果想改变不可变序列中的元素,可以使用 list() 函数把不可变序列 转为 列表数据类型。

s = 'hello'
s = list(s)
print(type(s))
#

Python基础学习笔记十二(序列) - 文章图片





二、修改序列

1、通过索引直接修改元素

# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 修改索引为0的元素
stus[0] = 'sunwukong'
print(stus)
# ['sunwukong', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']

Python基础学习笔记十二(序列) - 文章图片



2、通过切片修改元素

# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 使用新的元素替换旧元素
stus[0:2] = ['牛魔王','红孩儿']
print(stus)
# ['牛魔王', '红孩儿', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 如果新元素的个数比旧元素多,会依次排列
stus[0:2] = ['牛魔王','红孩儿','二郎神']
print(stus)
# ['牛魔王', '红孩儿', '二郎神', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 向索引为0的位置插入元素
stus[0:0] = ['牛魔王']
print(stus)
# ['牛魔王', '牛魔王', '红孩儿', '二郎神', '沙和尚', '唐僧', '蜘蛛精', '白骨精']

Python基础学习笔记十二(序列) - 文章图片



3、通过切片步长修改元素

# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 通过步长修改元素
stus[::2] = ['牛魔王','红孩儿','二郎神']
print(stus)
# ['牛魔王', '猪八戒', '红孩儿', '唐僧', '二郎神', '白骨精']

Python基础学习笔记十二(序列) - 文章图片





三、删除元素

1、通过 del 删除指定索引的元素

# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 删除索引为2的元素
del stus[2]
print(stus)
# ['孙悟空', '猪八戒', '唐僧', '蜘蛛精', '白骨精']

Python基础学习笔记十二(序列) - 文章图片



2、通过切片删除元素

# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 通过切片直接删除(方式一)
del stus[0:2]
print(stus)
# ['沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 通过切片直接删除(方式二)
stus[1:3] = []
print(stus)
# ['沙和尚', '白骨精']

Python基础学习笔记十二(序列) - 文章图片



3、通过切片步长删除元素

# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 通过切片步长删除元素
del stus[::2]
print(stus)
# ['猪八戒', '唐僧', '白骨精']

Python基础学习笔记十二(序列) - 文章图片





四、序列方法(只对可变序列使用)









































方法名称方法说明
append()向序列的最后添加一个元素
insert()向序列的指定位置插入一个元素 参数:1.要插入的位置 2.要插入的元素
extend()使用新的序列来扩展当前序列,需要一个序列作为参数,它会将该序列中的元素添加到当前列表中
clear()清空序列
pop()根据索引删除并返回被删除的元素
remove()删除指定值的元素,如果相同值的元素有多个,只会删除第一个,没有返回值
reverse()用来反转序列
sort()用来对序列中的元素进行排序,默认是升序 排列(从小到大排序)

# 序列方法
my_list = [1,2,3,4,5]
# append(元素):向后添加一个元素
my_list.append('abc')
print(my_list)
# [1, 2, 3, 4, 5, 'abc']
# insert(索引, 元素):向指定位置添加一个元素
my_list.insert(2, 'qq')
print(my_list)
# [1, 2, 'qq', 3, 4, 5, 'abc']
# extend(序列):将一个序列中的全部元素添加到该序列的末尾
new_list = [11, 22, 33]
my_list.extend(new_list)
print(my_list)
# [1, 2, 'qq', 3, 4, 5, 'abc', 11, 22, 33]
# clear():清空序列
# my_list.clear()
# print(my_list)
# []
# pop(索引):根据索引删除并返回被删除的元素
a = my_list.pop(2)
print(a)
# qq
print(my_list)
# [1, 2, 3, 4, 5, 'abc', 11, 22, 33]
# remove(值):删除指定值的元素,如果相同值的元素有多个,
# 只会删除第一个,没有返回值
my_list = [1,2,3,4,1,2,1]
my_list.remove(1)
print(my_list)
# [2, 3, 4, 1, 2, 1]
# reverse():反转列表
my_list.reverse()
print(my_list)
# [1, 2, 1, 4, 3, 2]
# sort():用来对列表中的元素进行排序,元素类型必须一致,
# 默认是升序排列(从小到大排序)
my_list = ['a','b']
my_list.sort()
print(my_list)

Python基础学习笔记十二(序列) - 文章图片





五、遍历序列

1、普通遍历方式(通过索引遍历)

# 创建一个列表
stus = [1,2,3,4]
# 通过索引获取每一个元素
print(stus[0])
print(stus[1])
print(stus[2])
print(stus[3])

Python基础学习笔记十二(序列) - 文章图片



2、while循环遍历

# 创建一个列表
stus = [1,2,3,4]
# 定义变量
i = 0
while i print(stus[i])
i += 1

Python基础学习笔记十二(序列) - 文章图片



3、for循环遍历

# 创建一个列表
stus = [1,2,3,4]
# 遍历列表
for s in stus:
print(s)

Python基础学习笔记十二(序列) - 文章图片





六、range()函数

range()函数 用来生成一个自然数的序列。


1、语法格式

range(起始位置,结束位置,步长)


  • 参数

    • 起始位置:可以省略,默认是0

    • 结束位置

    • 步长:可以省略,默认是1






2、使用


通过 range() 可以创建一个执行指定次数的 for循环。

for i in range(10):
print(i, end=' ')

Python基础学习笔记十二(序列) - 文章图片



3、案例代码

# 生成自然数序列
r = range(5)
print(list(r))
# [0, 1, 2, 3, 4]
r = range(0,10,2)
print(list(r))
# [0, 2, 4, 6, 8]
r = range(10,0,-1)
print(list(r))
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Python基础学习笔记十二(序列) - 文章图片





博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!








推荐阅读
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 这是一个愚蠢的问题,但我只是对此感到好奇.假设我在Pythonshell,我有一些我查询的数据库对象.我做:db.query(的queryString)该查询在0xffdf842c ... [详细]
author-avatar
wenxuanlee
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有