字符串操作

字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1

Python针对字符串有个比较帅气的判断常常用在for循环里示意如下:

names=”Tinada, Niuer, Zhangsan, Lisi, Wangwu, Zhaoliu”

name=input(“Plz input the name: ”)

for name in names:

Print(“Your input is right!”)

事实上,for循环是遍历字符串names里所有的元素,只是这细致的操作Python在幕后代劳了,我们看起来只是比对,输入的一串是不是存在于names的一串串里。

以下所有字符串的方法,它都不会修改原来字符串的值,都会产生一个新的字符串,因为字符串一旦定义了就是不可变的,是不可变的变量,可以定义其他的变量来获取。

name = 'heLLo world'

import string

print(string.ascii_letters+string.digits)#大小写字母+数字

print(string.ascii_lowercase)#所有的小写字母

print(string.ascii_uppercase)#所有的大写字母

print(string.digits)#所有的数字

print(name.lower())  # 变成小写

print(name.upper())  # 变成大写

print(name.capitalize())  # 首字母大写

print('Abcdef'.swapcase())  # 大小写反转

print(name.center(5, '*'))  # 50个*,把name放中间

print(name.endswith('d'))  # 是否以d结尾,返回布尔值

print(name.find('sss'))

# 查找字符串的索引,找到的话返回第一次出现的索引,找不到返回-1

print('mysql is is db'.rfind('is'))  # 返回最右边匹配到的字符串的第一个字符的下标,找不到返回-1

print('abA123'.isalnum())  # 是否是“数字” 或 “英文字母” 或 “数字和英文字母”,返回布尔值

print('abA'.isalpha())  # 是否是英文字母,返回布尔值

print('122'.isdigit())  # 是否是数字,返回布尔值

print('11sdf'.isidentifier())  # 是否是一个合法的变量名,返回布尔值

print('aA'.islower())  # 是否是小写字母,返回布尔值

print('AA'.isupper())  # 是否是大写字母,返回布尔值

strnames = 'ABCEDF'

print('¥'.join(strnames))

print('strname:',strnames)

# join是用来通过某个字符串拼接一个可迭代对象的的每个元素的

注意:.join()方法拼接完的结果是字符串类型,所有时候这种方法被用于将列表转换成字符串。

#所有字符串的方法,它都不会修改原来字符串的值,都会产生一个新的字符串

print('\nmysql \n'.lstrip())  # 默认去掉左边的空格和换行

print('\nmysql \n'.rstrip())  # 默认去掉右边的空格和换行

print('\nmysql \n'.strip())  # 默认去掉两边边的空格和换行

print('mysqlm     '.strip('m'))

#当你传入某个字符串的话,它就只会去掉你指定的字符串而不去管左右空格了。

p = str.maketrans('abcdefg', '1234567')  # 前面的字符串和后面的字符串做映射

# 第一部分固定为“被翻译对象”字符集,第二部分固定“翻译结果”翻译结果字符集,

# 这两部分是有序的一一对应的,该方法生成了翻译结果字符,p获取了它,

print('ccaegg'.translate(p))  # 按给出的顺序输出对应的翻译结果字符,33157

# 观察下面的结果

new_p = str.maketrans('1234567', 'abcdefg')

print('ccaegg'.translate(new_p))

st= 'mysql is db. mysql mysql mysql'

print(st.replace('mysql', 'oracle'))  # 替换字符串

name1 = 'zcl,py ,zyz'

print(name1.split(‘,’))

#切割字符串返回一个list,按照你指定的字符串去切割,然后放到一个list里面

#如果你什么都不写的话,按照空格分割,多个空格也算一个

print('1+2+3+4'.split())  # 切割字符串,返回一个list

print('1+2+3\n1+2+3+4'.splitlines())  # 按照换行符分割

Python学习杂记_3_字符串操作的常用方法的更多相关文章

  1. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  2. Python学习杂记_7_文件操作

    文件操作 Python3用open()方法打开文件并返回文件句柄,有了文件句柄就可以对文件进行各种操作了. 打开文件: open(“文件名” , 打开方式)            如: f=open( ...

  3. 从零开始的Python学习Episode 6——字符串操作

    字符串操作 一.输出重复字符串 print('smile'*6) #输出6个smile 二.通过引索输出部分字符串 print('smile'[1:]) print('smile'[1:3]) #输出 ...

  4. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  5. Python学习杂记_9_集合操作

    集合集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”.其中数据不重复是它最重要的特点,常常用于“去重”操作,Set(list)方法可以把列表强制转换成集合. 集合的一些操 ...

  6. Python学习-第二天-字符串和常用数据结构

    Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...

  7. Python学习杂记_5_列表常用操作

    列表操作 列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如: names=[1, 2, 3, “abc”, “d ...

  8. Python学习:7.文件操作

    文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...

  9. Python学习杂记_4_分支和循环

    分支 和 循环 分支和循环这俩结构在各语言中都有着很重要的地位,当然我之前都没有学好,这里总结一下在Python学习中对这俩结构的认识. 分支结构 # 单分支 if 条件判断: 执行语句… # 双分支 ...

随机推荐

  1. ob缓存的基本使用

    在页面 加载的时候 如果 图片 很多 很大 会造成页面的阻塞降低用户体验 我们在点击页面的时候可以使用OB缓存 整个页面, 当用户点击的时候直接请求的是我们预先准备好的html页面 .也降低了我们数据 ...

  2. 科学计算库Numpy——数组形状

    改变数组维数 给数组的shape属性赋值,改变数组的维数.数组的大小是不能改变的. 增加维度 使用np.newaxis增加维度. 删除维度 使用squeeze()删除维度是1的维度,也就是删除shap ...

  3. python3+openCV实现图片的人脸人眼检测,原理+参数+源代码

    上学时候用matlab学过一些图像处理的基础知识,当时课程作业是用haar实现人脸检测 but当时是心思根本不在图像处理上,so找了个同学帮忙做的,自己没上心 然鹅天道好轮回,现在捡起来了原来的算法一 ...

  4. K-th Number POJ - 2104

    K-th Number POJ - 2104 You are working for Macrohard company in data structures department. After fa ...

  5. Tempter of the Bone HDU - 1010(dfs)

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  6. Java并发模型框架

    构建Java并发模型框架 Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦.线程间同步.数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误. ...

  7. v-model 的修饰符

    1..trim 自动过滤输入内容最开始 和 最后的 空格,中间的会保留一个空格,多的会被过滤掉 2..lazy 一般情况下,在input的 v-model是一直在同步 输入的内容与显示的内容,不过再添 ...

  8. python 闯关之路四(下)(并发编程与数据库编程) 并发编程重点

    python 闯关之路四(下)(并发编程与数据库编程)   并发编程重点: 1 2 3 4 5 6 7 并发编程:线程.进程.队列.IO多路模型   操作系统工作原理介绍.线程.进程演化史.特点.区别 ...

  9. POJ 3041 Asteroids (二分图最小点覆盖集)

    Asteroids Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 24789   Accepted: 13439 Descr ...

  10. Windows核心编程小结3

    内存映射和堆栈 内存映射文件 内存映射文件可以用于3个不同的目的: 系统使用内存映射文件,以便加载和执行.exe和DLL文件.这可以大大节省页文件空间和应用程序启动运行所需的时间. 可以使用内存映射文 ...