Python——第二章:字符串操作——索引和切片
索引: 按照位置提取元素
可以采用索引的方式来提取某一个字符(文字)
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——第二章:字符串操作——索引和切片的更多相关文章
- 【原创】Python第二章——字符串
字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python 全栈开发:str(字符串)索引和切片
str(字符串)索引和切片 str(字符串)索引: #计算机中大部分索引以0为开始 s = 'mylovepython' s1 = s[0] s2 = s[4] s3 = s[-1] print(s1 ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- 【Python自动化Excel】Python与pandas字符串操作
Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...
- 数据类型&字符串得索引及切片
一:数据类型 1):int 1,2,3用于计算 2):bool ture false 用于判断,也可做为if的条件 3):str 用引号引起来的都是str 存储少量数据,进行 ...
- python入门7 字符串操作
字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- Python 第二章-列表和元组
第二章-列表和元组 2.0 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...
- python第二章:数据类型--小白博客
标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...
随机推荐
- [自然语言处理] 基于pycorrector实现文本纠错
文本纠错(Text Error Correction)技术旨在自动修正输入文本中的拼写.语法.标点符号等错误,以提高文本的准确性.通顺性和规范性.该技术可以通过自然语言处理技术实现,基于上下文和语言规 ...
- ORACLE DBLink创建
在写测试脚本时,经常需要跨库取数据,SQL本身不支持跨库查找.Oracle提供DBLink链接,支持跨库操作. 1.创建DBLink Create public database link Next_ ...
- Little Victor and Set 题解
Little Victor and Set 题目大意 在 \([l,r]\) 中选不超过 \(k\) 个相异的数使得异或和最小,输出方案. 思路分析 分类讨论: 当 \(k=1\) 时: 显然选 \( ...
- 从零用VitePress搭建博客教程(5) - 如何自定义页面模板、给页面添加独有的className和使页面标题变成侧边目录?
接上一节:从零用VitePress搭建博客教程(4) – 如何自定义首页布局和主题样式修改? 上一节其实我们也简单说了自定义页面模板,这一节更加详细一点说明,开始之前我们要知道在vitePress中, ...
- Linux-管道、环境变量、常用命令
目录 管道 概念 要点 与文件重定向的区别 环境变量 概念 查看 常用命令 查看系统状况 权限 文件查找 用户相关 工具 管道 概念 管道的作用类似于文件重定向,可以将前一个命令的stout做为下一个 ...
- P7073 [CSP-J2020] 表达式
Problem 考察算法:后缀表达式建树,优化. 题目简述 读入一个后缀表达式,由 \(\&,\mid,!\) 三种运算和操作数构成. 有 \(q\) 次询问,每次输入一个下标 \(i\) , ...
- JVM-JAVA基本类型
1 package javap.fload; 2 3 import static jdk.nashorn.internal.objects.Global.Infinity; 4 5 public cl ...
- 嵌入式C编码规范
每个程序员都有自己的编码风格,自己喜欢就好. 嵌入式C编码规范 上述博文来自转载
- JavaScript高级程序设计笔记11 期约与异步函数(Promise & Async Function)
期约与异步函数 ES6新增Promise引用类型,支持优雅地定义和组织异步逻辑. ES8增加了使用async和await关键字定义异步函数的机制. 异步编程 JavaScript这种单线程事件循环模型 ...
- STL容器详解
详细总结STL 为什么C++比C更受人欢迎呢?除了C++ 的编译令人感到更舒适,C++的标准模板库(STL)也占了很重要的原因.当你还在用手手写快排.手写二叉堆,挑了半天挑不出毛病的时候,C++党一手 ...