索引: 按照位置提取元素

可以采用索引的方式来提取某一个字符(文字)

s = "我叫周杰伦"
print(s[3]) #程序员都是从0开始数,这里的3代表第4位,也就是“杰”
print(s[0]) #0就是第1位“我”
print(s[-1]) # -表示倒数,-1表示倒数第一位“伦”

切片: 从一个字符串中提取一部分内容

为了方便识别,我对下面的字符串进行位数标记

s = "我叫周杰伦,你呢?你叫周润发吗?"
print(s[3:6]) # 从索引3位置进行切片, 切到6结束, 坑: 切片拿不到第二个位置“6”的元素 # 语法: s[start:end] 从start到end进行切片,但是取不到end 。在数学中这叫做左闭又开集合,大家可以理解为[start, end)
print(s[0:5]) # 从索引开头位置进行切片, 切到5结束
print(s[:5]) # 如果start是从开头进行切片, 可以省略
print(s[6:]) # 从start开始(6)一直截取到末尾
print(s[:]) #: 如果左右两端有空白. 表示开头或者结尾
print(s[-3:-1]) # 目前还是只能从左往右切片

这里特意书写一个错误写法

print(s[-1:-3])  # 没结果, 这里是坑!!!!还不会报错!

这种写法目前是错误的。这就引出了另一个参数——step步长

在没有步长step的参数时,切片只能从左往右进行

切片: step步长

s = "我爱你"
#可以给切片添加步长来控制切片的方向
print(s[::-1]) # -表示从右往左

结果是

你爱我

语法: s[start:end:step] 从start切到end, 每step个元素出来一个元素

步长:正数代表从左向右数,负数代表从右向左数。值代表每一步的间隔。

先看步长的正负符号,确定左右方向,再看步长的绝对值进行取值。

举例:

s="abcdefgh"
print(s[::2])
print(s[::-2])

第一个是+2。因此是从左往右数,步长为2,也就是每2位取1位(取的是第一位,但是正负值决定第一位的方向)。这里是从左往右数,第一位分别是aceg

第二个是-2。因此是从右往左数,步长为2,也就是每2位取1位(取的是第一位,但是正负值决定第一位的方向)。这里是从右往左数,第一位分别是hfdb

结果为

aceg
hfdb

举例:26个英文字母,

s = "abcdefghijklmnopqrstuvwxyz"
print(s[2:11:3])
print(s[2:26:3])
print(s[2::3])
print(s[-1:-10:-3])
print(s[:-10:-3])
print(s[:-26:-1])
print(s[::-1])

结果:大家好好体会其中结果的差异和左开右闭的区别

cfi
cfilorux
cfilorux
zwt
zwt
zyxwvutsrqponmlkjihgfedcb
zyxwvutsrqponmlkjihgfedcba

这个end取不到其实挺郁闷的,所以要想取到最后一位,一定要在end处写成空

Python——第二章:字符串操作——索引和切片的更多相关文章

  1. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  2. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  3. Python 全栈开发:str(字符串)索引和切片

    str(字符串)索引和切片 str(字符串)索引: #计算机中大部分索引以0为开始 s = 'mylovepython' s1 = s[0] s2 = s[4] s3 = s[-1] print(s1 ...

  4. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  5. 【Python自动化Excel】Python与pandas字符串操作

    Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...

  6. 数据类型&字符串得索引及切片

    一:数据类型 1):int     1,2,3用于计算 2):bool    ture  false  用于判断,也可做为if的条件 3):str     用引号引起来的都是str 存储少量数据,进行 ...

  7. python入门7 字符串操作

    字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...

  8. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  9. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  10. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

随机推荐

  1. 「atcoder - abc246h」01? Queries

    link. 平时基本打不到 ex,这个 ex 还是比较 ez 的,但也有些需要注意的地方. 考虑 dp 规划前缀,设 \(f[i][0/1]\) 表示前缀 \([1, i]\) 否是选 \(i\) 的 ...

  2. dubbo+zookeeper+springboot远程连接,虚拟机和主机分布式操作

    dubbo+zookeeper+springboot远程连接,虚拟机和主机分布式操作 springboot版本:阿里云2.3.7 实现目标 在主机上的消费者可以调用虚拟机中生产者的接口方法 项目目录 ...

  3. MySQL PXC 集群运维指南

    目录 一.PXC方案概述 二.PXC基础知识 三.PXC节点的配置安装 四.PXC节点的上线与下线 五.其他 一.PXC方案概述 Percona XtraDB Cluster (PXC) 是一个完全开 ...

  4. 基于Effect的组件设计

    Effect的概念起源 从输入输出的角度理解Effect https://link.excalidraw.com/p/readonly/KXAy7d2DlnkM8X1yps6L 编程中的Effect起 ...

  5. SP3377

    题目简化和分析: 前言:这题目背景真奇怪. 我们可以将每种关系,看成一条边,如果出现奇数边环就不满足. 例如:\(a,b\) 异性 \(a,c\) 异性 \(b,c\)异性 这种情况是不满足的. 相当 ...

  6. STL 迭代器

    工作之余看了一下<<accelerated c++>>这本书,挺有意思没,没有一大堆概念,直接就开始一步一步编写代码. 书中时不时会涉及到一些stl的概念,比如容器,算法,迭代 ...

  7. VS Code C# 开发工具包正式发布

    前言 微软于本月正式发布Visual Studio Code C#开发工具包,此前该开发套件已经以预览版的形式在6月份问世.经过4个月的测试和调整,微软修复了350多个问题,其中大部分是用户反馈导致的 ...

  8. Vue之监听数据变化

    1.轻度监视 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  9. 初识FreeRTOS

    FreeRTOS是一个迷你的实时操作系统内核.作为一个轻量级的操作系统,功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能.软件定时器.协程等,可基本满足较小系统的需要.   一.Fr ...

  10. [NOIP 考前备战] 线段树刷题

    备战线段树 T1 AcWing .1275. 最大数 查询最大值 + 单点修改 #include <bits/stdc++.h> #define int long long using n ...