索引和切片

索引:取出数组s中第3个元素:x=s[2]

切片:用极少的代码将数组元素按需处理的一种方法。切片最少有1个参数,最多有3个参数,演示如下:

我们假设下面所用的数组声明为array=[2,3,4,5,6]

1个参数:

  1. array[1:]——从下标为1的元素选择到最后一个元素,返回 [4,5,6]
  2. array[:3]——从下标为0的元素选择到下标为2的元素,不包括下标3的元素,返回[2,3,4]
  3. array[::2]——从下标为0的元素开始,最后一个%2为0的下标对应的那个元素为止

说明:如果前2个参数中有任何一个为负数,那么,分2种情况,如果负数 小于 -n,那么就给负数归0,如果仅仅在-n~0,那么就将这个数理解为0~n-1之间转圈圈就可以了。负数转圈的算法,很简单,就不说了

2个参数:

  1. array[1:-2]——从下标1开始,到下标(n-1)之前的所有元素,返回[3,4]
  2. array[-2:3]——当第一个参数经过计算大于等于后一个,返回空数组[]
  3. array[-13:3]——参见上面第一个说明,第一个参数归0,返回[2,3,4]

3个参数

  1. [::-1]——从头到尾,将数组反转,返回[6,5,4,3,2]
  2. [-1::-2]——从尾到头,每个一个元素,选择一个元素,返回[6,4,2]

说明:没有第3个参数时,切片只能从左向右,此时若第一个参数大于等于第二个参数,则返回空数组

说明:第三个参数<0时,切片方向可以被改变,此时没有上述限制

练习

s = 'Python最NB'
#获取s字符串中前3个内容
print(s[:])
#获取s字符串中第3个内容
print(s[])
#获取s字符串中后3个内容
print(s[-:])
#获取s字符串中第3个到第8个
print(s[:])
#获取s字符串中第2个到最后一个
print(s[:])
#获取s字符串中第1, , 5个内容
print(s[::])
#获取s字符串中第2, , 6个内容
print(s[::])
#获取s字符串中所有内容
print(s[::])
#获取s字符串中第4个到最后一个, 每2个取一个
print(s[::])
#获取s字符串中倒数第5个到最开始, 每3个取一个
print(s[-::-])

字符串全部大写:

name = 'alex'
new_name = name.upper()
print(new_name)
# 把这个字符串全部变成大写

字符串全部小写:

name = 'ALEX'
new_name = name.lower()
print(new_name)
# 把这个字符串全部变成小写 

首字母大写:

name = 'alexdasx'
new_name = name.capitalize()
print(new_name)
# 首字母大写

判断开头:返回True/False

name = 'alex'
new_name = name.startswith('a')
if new_name:
print('是以a开头')
# 判断这是不是字符串是不是以a开头的

判断结尾:返回True/False 

name = 'alex'
new_name = name.endswith('x')
if new_name:
print('是以x结尾')
# 判断这是不是字符串是不是以x结尾的

统计出现的次数:

name = 'alexdasx'
new_name = name.count('a')
print(new_name)
# 统计name这个字符串中a出现的次数

查找下标:

name = 'alexdasx'
new_name = name.find('e')
print(new_name)
# 通过元素查找下标,不存在就返回-

查找下标:

name = 'alexdasx'
new_name = name.index('e')
print(new_name)
# 通过元素查找下标,不存在就报错  

字符串替换:  

name = 'alexdasx'
new_name = name.replace('sx','sd')
print(new_name)
# 替换字符串中的内容

去除头尾两边的空格: 

name = ' alexdasx '
new_name = name.strip()
print(new_name)
# 去除头尾俩遍的空格和换行符

分割:

name = 'alexdasx'
new_name = name.split("x")
print(new_name)
#通过x将字符串name进行切割

字符串格式化:

name = 'alexdasx{}'
new_name = name.format('说的对')
print(new_name)
# 字符串格式化 

判断是不是阿拉伯数字,返回的是布尔值:

name = 'alexdasx'
new_name = name.isdigit()
print(new_name)
# 判断是不是阿拉伯数字,返回结果是布尔值

判断是不是数字和字母,返回的是布尔值:

name = 'alex7dasx'
new_name = name.isalnum()
print(new_name)
# 判断是不是字母和数字,返回结果是布尔值

判断是不是纯字母及汉字,返回的是布尔值:

name = 'alexdasx'
new_name = name.isalpha()
print(new_name)
# 判断是不是字母和数字,返回结果是布尔值

 判断是不是大写字母,返回的是布尔值:

name = 'alexdasx'
new_name = name.isupper()
print(new_name)
# 判断是不是大写字母,返回结果是布尔值

判断是不是小写字母,返回的是布尔值:

name = 'alexdasx'
new_name = name.islower()
print(new_name)
# 判断是不是小写字母,返回结果是布尔值

python基础学习笔记——字符串方法的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. Python基础学习笔记(八)常用字典内置函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...

  3. Python基础学习笔记(五)常用字符串内建函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-strings.html 3. http://www.liaoxu ...

  4. Python基础学习笔记(六)常用列表操作函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...

  5. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  6. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  7. python基础学习笔记3

    特殊方法与多范式   Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序 ...

  8. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  9. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

随机推荐

  1. 好吧,不说闲言碎语,不抱怨,好好工作,好好学习,多总结。记录一下昨天做vuejs的心得

    1.做了两个bat文件,一个是直接定位到vuejs项目并且运行,另一个就是打包 run.bat d:cd wwwcd vuecd dtbpmcnpm run devpause build.bat cd ...

  2. SQLServer 2012 Always on配置全过程

    AlwaysOn取数据库镜像和故障转移集群之长.AlwaysOn不再像故障转移集群那样需要共享磁盘,从而主副本和辅助副本可以更容易的部署到不同的地理位置:AlwaysOn还打破了镜像只能1对1的限制, ...

  3. python基础教程总结10——文件

    1.打开文件 open(name[mode[,buffing])    参数:  文件,模式,缓冲 1)name: 是强制选项,模式和缓冲是可选的 #如果文件不在,会报下面错误1 >>&g ...

  4. ABAP的Package interface, 安卓的manifest.xml和Kubernetes的Capabilities

    ABAP 事务码SE21创建ABAP包接口.这是ABAP基于包层面的访问控制实现逻辑.包里可以存储很多ABAP对象.如果开发人员想将某些对象声明为包外程序也能访问,可以将这些对象放在包接口的Visib ...

  5. 【转载】Cesium基础使用介绍

    既然给我发了参与方式,不参加似乎有点不给人面子,反正也没多少人看我的博客,那我就试试吧,也欢迎大家自己参与:2017年度全网原创IT博主评选活动投票:http://www.itbang.me/goVo ...

  6. Android内核剖析(1)

    Linux的启动过程 开机上电执行bootloader,将内核的前n条指令加载到系统内存中------>系统内核的初始化----------->启动应用程序. bootloader的位置装 ...

  7. [VC]ocx控件怎么屏蔽backspace的后退键

    <script Language=javascript> function   document.onkeydown()   {   if(window.event.keyCode   = ...

  8. 11gR2 如何诊断节点重启问题

    本文对如何诊断11gR2 GI环境下的节点重启问题进行了一些介绍. 首先,像10g版本一样,我们首先介绍在GI中能够导致节点重启的进程.1.Ocssd.bin:这个进程的功能和10g版本的功能基本差不 ...

  9. codeforecs Gym 100286B Blind Walk

    交互式程序,要用到一个函数fflush,它的作用是对标准输出流的清理,对stdout来说是及时地打印数据到屏幕上,一个事实:标准输出是以『行』为单位进行的,也即碰到\n才打印数据到屏幕.这就可能造成延 ...

  10. 解决在matplotlib使用中文的问题

    原生的matplotlib并不支持直接使用中文,而需要修改一下相应的文件,上网搜了下,找到一个最简洁的办法. NO.1 找到matplotlibrc文件 C:\Python26\Lib\site-pa ...