热门标签 | 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基础学习笔记十二(序列) - 文章图片





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








推荐阅读
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
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社区 版权所有