索引: 按照位置提取元素

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

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. dubbo+zookeeper+springboot远程连接,虚拟机和主机分布式操作

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

  2. Azure Data Factory(九)基础知识回顾

    一,引言 在本文中,我们将继续了解什么是 Azure Data Factory,Azure Data Factory 的工作原理,Azure Data Factory 数据工程中的数据管道,并了解继承 ...

  3. 【Postman】以命令行形式执行Postman脚本(使用newman)

    以命令行形式执行Postman脚本(使用Newman) 目录 以命令行形式执行Postman脚本(使用Newman) 一.背景 二.Newman的安装 1.Node.js 2.Newman 三.脚本准 ...

  4. python-显示张量(tensorflow)的具体的值

    ------------恢复内容开始------------ # 方法1 a = tf. random.normal ([4,4],mean=0.1,stddev=1) with tf.Session ...

  5. 征集 meme

    当你每次兴致勃勃地和好友分享自己喜欢的歌但 Ta 不屑一顾 / 不喜欢时:

  6. PolygonCollider2D.OverlapPoint()在小scale下失效的一种解决办法

    偶然发现PolygonCollider2D的方法OverlapPoint()有时会失效(一直返回false),测试后发现在scale(这里指世界空间的scale,后同)很小的情况下(通常在UI Can ...

  7. 使用Kali Linux进行主机发现实验

    主机发现 [实训目的] 掌握主机扫描的工作原理,学会使用ping等扫描工具,发现网络当中活跃的主机. [场景描述] 在虚拟机环境下配置4个虚拟系统"Win XP1" "W ...

  8. 数字逻辑笔记 全加器全减器8421BCD转余3

    二进制全加器 全减器 十进制加法 8421BCD转余3码

  9. shell解析xml文档

    需要解析的源文件: /tmp/cameralist : <?xml version="1.0" encoding="UTF-8"?><came ...

  10. vue-router钩子执行顺序

    Vue的路由在执行跳转时,根据源码可知,调用了router中定义的navigate函数 function push(to: RouteLocationRaw) { return pushWithRed ...