Python 基础(四):序列

目录

  • 简介
  • 2 基本使用
    • 2.1 索引
    • 2.2 切片
    • 2.3 相加
    • 2.4 相乘
    • 2.5 元素是否在序列中
    • 2.6 内置函数

简介

Python 中的序列是一块可存放多个值的连续内存空间,所有值按一定顺序排列,每个值所在位置都有一个编号,称其为索引,我们可以通过索引访问其对应值。
我们上一节说的Python 基础(三)中,字符串就是序列结构,除此之外常见的序列结构还包括列表、元组等

2 基本使用

2.1 索引

序列索引支持非负数和负数,索引为非负数,从 0 开始,如下所示:
在这里插入图片描述
索引为负数由右向左计数,从 -1 开始,如图所示:
在这里插入图片描述
下面通过一个示例作进一步了解,以字符串为例,如下所示:

str = 'Python'
print('str[0] str[-6] =', str[0], str[-6])
print('str[5] str[-1] =', str[5], str[-1])

输出结果:

str[0] str[-6] = P P
str[5] str[-1] = n n

从结果来看,我们使用非负数索引与负数索引得到的结果一致。

2.2 切片

切片操作可以访问一定范围内的元素,语法如下所示:

sname[start : end : step]

  • sname:表示序列的名称;
  • start:开始索引位置(包括该位置),默认为 0;
  • end:表示切片的结束索引位置(不包括该位置),默认为序列的长度;
  • step:步长。

以字符串为例,如下所示:

str = 'Python'
print(str[:3])
print(str[3:])
print(str[:])

输出结果:

Pyt
hon
Python

2.3 相加

Python 支持类型相同的序列使用 + 作相加操作,该操作不会去除重复的元素。以字符串为例,如下所示:

str1 = 'Python'
str2 = 'Python'
print('str1 + str2 --> ',str1 + str2)

输出结果:

str1 + str2 -->  PythonPython

2.4 相乘

Python 中,使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果。以字符串为例,如下所示:

str = 'Python'
print('2 * str --> ',2 * str)

输出结果:

2 * str -->  PythonPython

2.5 元素是否在序列中

Python 使用 in 关键字检查某元素是否为序列的成员,语法如下:

val in seq

  • val:要检查的元素;
  • seq:指定的序列。

通过一个例子作进一步了解,以字符串为例,如下所示:

str = 'Python'
print('on'in str)

输出结果:

True

2.6 内置函数

函数描述
len()计算序列的长度
max()找出序列中最大的元素
min()找出序列中最小的元素
list()将序列转化为列表
str将序列转化为字符串
sum()计算元素的和
sorted()对元素进行排序
enumerate()将序列组合为一个索引序列,多用在for循环中

简单举几个例子,如下所示:

str = 'dbcae'
print('len -->', len(str))
print('max -->', max(str))
print('sorted -->', sorted(str))

输出结果为:

len --> 5
max --> e
sorted --> ['a', 'b', 'c', 'd', 'e']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336675.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二证券:证监会紧急声明!加密货币大笔爆仓

当地时刻1月9日,美股三大指数涨跌纷歧。道指跌157.85点,跌幅为0.42%,报37525.16点;纳指涨13.94点,涨幅为0.09%,报14857.71点;标普500指数跌7.04点,跌幅为0.15%,报4756.50…

数据湖存储解决方案之Iceberg

1.Iceberg是什么? Apache Iceberg 是由 Netflix 开发开源的,其于2018年11月16日进入 Apache 孵化器,是 Netflix 公司数据仓库基础。Apache Iceberg设计初衷是为了解决Hive离线数仓计算慢的问题,经过多年迭代已经发展成为构建数据…

代码随想录算法训练营第二十四天| 回溯 491.递增子序列 46.全排列 47.全排列 II

491. 非递减子序列 此前通过used数组去重的操作的前提是需要首先给数组排序,本题不可以,因为求递增子序列时,原先的序列并不是一定递增的,此时进行排序后,此时递增子序列会包含其他原先不是原先数据的子序列。 递归参…

“高端”的位运算

王有志,一个分享硬核Java技术的互金摸鱼侠加入Java人的提桶跑路群:共同富裕的Java人 原计划迭代作为预备知识的收尾,不过在解2的幂和4的幂时,想到关于数字2的问题可以通过位运算去解决,因此补充了关于位运算的内容。 …

springboot+java+bootstrap商场摊位商铺租赁管理系统

商铺租赁管理系统分为管理员,房东,用户三种角色。 (1)管理员功能:管理员管理房东,管理公告,管理商铺出租,租赁合同等信息。 (2)房东功能:房东审核…

【算法与数据结构】746、LeetCode使用最小花费爬楼梯

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题可以从0阶或者1阶台阶开始,每次爬楼梯所需的花费是之前的花费dp[i]从本层向上爬所需的…

【编译原理】期末预习PPT后三章笔记+LL(1) III

继续预习O.o 从这一章开始看自己班发的 PPT 了 LL(1)的部分因为班里发了所以又看了一遍hhh感觉比之前那个清楚一点 目录 I. 自顶向下 一、概念(看一眼) 1、语法分析的两大类分析方法 2、算法基本思想 3、自顶向下介绍 1)一般过程 2&a…

关于LwRB环形缓冲区开源库的纯C++版本支持原子操作

1、LwRB环形缓冲区开源库: GitHub - MaJerle/lwrb: Lightweight generic ring buffer manager libraryLightweight generic ring buffer manager library. Contribute to MaJerle/lwrb development by creating an account on GitHub.https://github.com/MaJerle/l…

Linux内存管理:(七)页面回收机制

文章说明: Linux内核版本:5.0 架构:ARM64 参考资料及图片来源:《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址: zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 触发页面回收 Linux内核中触发页…

【Vue3】2-7 : 计算属性与侦听器区别与原理(二)

本书目录:点击进入 一、监听器 - watch: {} 1.1 目的 1.2 应用场景 1.3 语法 二、计算属性和侦听器的区别 三、实战 示例1:已知 n13 ,n24 求 n3 n1 * n2 ,改变n1,n2,求n3 > 代码 - 计算属性 > 代…

源码|redis7.2.2|sds

文章目录 前言Type && EncodingsdsencodingcreateStringObjectcreateEmbeddedStringObject总结 createRawStringObject总结 createStringObjectFromLongDouble总结 createStringObjectFromLongLongWithOptions总结 相关操作sdscatlen总结 阈值44sds VS C字符串 前言 从…

Golang协程池ants库的学习、使用及源码阅读,协程池与GMP模型关系的理解

前言 在工作时遇到了一个需要使用ants协程池的地方,因此顺带来学习一下他的原理。 协程池 Golang的资源还是偏少一些…因此先简单的参考学习了一下线程池。 类似于Java中的线程池,协程池也是为了减少协程频繁创建、销毁所带来资源消耗的问题。按默认每…