字符串的相关操作

1.字符串的拼接

 strvar = "vegeta"+"ble"
print(strvar) # vegetable

2.字符串的重复

strvar = "good" * 3

3.字符串的跨行拼接 使用\

 strvar = "abcdefghijklmnopqrst" \
"uvwxyz"
print(strvar) # abcdefghijklmnopqrstuvwxyz

4.字符串的索引

 '''
正向索引 0123
strvar = "1234"
逆向索引 -4-3-2-1
'''

5.字符串的切片

注意: [开始索引:结束索引:间隔值]

res = strvar[::2] # 0 2 4 6 8..... 从开始截取到最后

res = strvar[::-1] # -1 -2 -3 -4 -5 -6..... 从结尾截取到最前

 # [开始索引:]  从开始索引截取到字符串的最后
strvar="红橙黄绿青蓝紫"
res = strvar[4:]
print(res) # [:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = strvar[:5]
print(res) # [开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = strvar[1:3]
print(res) # [开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
# 正序
res = strvar[::2] # 0 2 4 6 8..... 从开始截取到最后
print(res)
# 倒序
res = strvar[::-1] # -1 -2 -3 -4 -5 -6.....
print(res) # [:]或[::] 截取所有字符串
res1 = strvar[:]
res2 = strvar[::]
print(res1)
print(res2)

-------------------------------------------------------------------------

字符串的方法

常规:

 # capicalize 字符串首字母大写
strvar ="what is your name"
res = strvar.capitalize()
print(res) # What is your name # title 每个单词的首字母大写
strvar ="what is your name"
res = strvar.title()
print(res) # What Is Your Name # upper 将所有字母变成大写
strvar ="what is your name"
res = strvar.upper()
print(res) # WHAT IS YOUR NAME # lower 将所有字母变成小写
strvar = "HELLO KITTY"
res = strvar.lower()
print(res) # hello kitty # swapcase 大小写互换
strvar = "AAAAbbbb"
res = strvar.lower()
print(res) # aaaaBBBB # len 计算字符串的长度
strvar = "AAAAbbbb"
res = len(strvar)
print(res) # # count 统计字符串中某个元素的数量
strvar = "AAAAbbbb"
res = strvar.count("A")
print(res) # # find 查找某个字符串第一次出现的索引位置(推荐使用)
'''字符串.find("字符",开始索引,结束索引) 如果找不到直接返回-1'''
strvar = "abcdefabc"
res = strvar.find("a") #
res = strvar.find("a",2) #
res = strvar.find("d",2,5) # 3 结束索引本身取不到,取到之前的那个值
print(res) # index与find功能相同,find找不到返回-1,index找不到数据会报错
res = strvar.index("d",6,8) # error # startswith 判断是否以某个字符或字符串为开头
'''
字符串.startswith("字符串",开始索引,结束索引)
如果存在返回True,否则返回False
'''
strvar = "abcdefg"
res = strvar.startswith("a") # True
res = strvar.startswith("b",1) # True
res = strvar.startswith("c",2,5) # True 2 3 4
print(res) # endswith 判断是否以某个字符或字符串结尾
res = strvar.endswith("g") # True
res = strvar.endswith("g",-6) # True
res = strvar.endswith("d",-6,-3) # True
print(res)

is系列:

 # isupper 判断字符串是否都是大写字母
strvar = "ABCD"
res = strvar.isupper()
print(res) # True # islower 判断字符串是否都是小写字母
strvar = "abcd123"
res = strvar.isupper()
print(res) # True # isdecimal 检测字符串是否以数字组成 必须是纯数字
strvar = ""
strvar = "123.4567"
res = strvar.isdecimal()
print(res)

填充/去除:

 strvar = "abc"
# ljust 填充字符串,原字符居左(默认填充空格)
res = strvar.ljust(10)
print(res)
# rjust 填充字符串,原字符居右(默认填充空格)
res = strvar.rjust(10)
print(res)
# center 填充字符串,原字符居中(默认填充空格)
res = strvar.center(10) # 原字符串长度+填充字符长度=10,默认填充空格
res = strvar.center(10,"#")
print(res) # strip 默认去掉首尾两边的空白符
strvar = "####abcd####"
res = strvar.strip("#") # 指定去掉的符号
print(res)
# rstrip 去掉右边某个字符
print(strvar.rstrip("#"))
# rstrip 去掉左边某个字符
print(strvar.lstrip("#"))

字符串最重要的三个方法:

 # split 按某字符将字符串分割成列表(默认字符是空格)
strvar = "one two three four"
lst = strvar.split()
strvar= "one-two-three-four"
lst = strvar.split("-") # 从左到右分隔
lst = strvar.rsplit("-",2) # 从右到左分隔,可以指定分隔的次数
print(lst) # join 按某字符将列表拼接成字符串
lst = ['five','six','seven','eight']
res = "-".join(lst)
print(res) # replace 替换,把字符串的旧字符替换成新字符
'''replace(要替换的字符,替换成什么,替换的次数)'''
strvar = "这只小狗真可爱,真呀真可爱"
res = strvar.replace("可爱","有趣")
res = strvar.replace("可爱","有趣",1)
print(res)

-----------------------------------------------------------------------------------

字符串的格式化:

# 1.顺序传参
strvar = "{}喜欢吃{}".format("我","苹果")
print(strvar) # 2.索引传参
strvar = "{1}喜欢吃{0}".format("苹果","我")
print(strvar) # 3.关键字传参
strvar = "{thing2}喜欢吃{thing1}".format(thing1="苹果",thing2="我")
print(strvar) # 4.容器类型数据(列表或元组传参)
strvar = "{0[2]}喜欢吃{1[1]}".format(["小红","小明","小刚"],("苹果","香蕉","菠萝"))
print(strvar) # format当中,不能使用逆向下标,不识别
strvar = "{0[-1]}喜欢吃{1[-1]}".format(["小红","小明","小刚"],("苹果","香蕉","菠萝"))
print(strvar) # 如果容器是字典
strvar="{group1[xiaoming]}喜欢吃{group2[0]}".format(group1={"xiaohong":"小红","xiaoming":"小明"},group2=("香蕉","苹果"))
print(strvar)

format 填充符号的使用和转换成特殊符号的使用:

 #  format的填充符号的使用(^ < >)
"""
^ 原字符串居中
< 原字符串居左
> 原字符串居右 {who:*^10}
who:关键字参数
*:要填充的字符
^:原字符串居中
10:总长度=原字符串长度+填充字符长度
""" strvar = "{who:*^10}在{where:>>10}吃{what:!<10}".format(who="我",where="别人家",what="苹果")
print(strvar) # 进制转换成特殊符号的使用( :d :f :s :,) # :d 整型占位符 要求类型必须是整型
strvar = "我吃了{:d}个苹果".format(3) #3.5 error
# :2d 占用两位,不够拿空格来补,默认居右
strvar = "我吃了{:2d}个苹果".format(3)
# < > ^ 调整对应的位置
strvar = "我吃了{:<2d}个苹果".format(3)
strvar = "我吃了{:<3d}个苹果".format(3)
print(strvar) # :f 浮点型占位符(要求类型必须是浮点型)
strvar = "我的成绩是{:f}".format(96.25)
# .2f 小数点保留两位
strvar = "我的成绩是{:.2f}".format(96.25)
print(strvar) # :s 字符串占位符 (要求类型必须是字符串)
strvar = "{:s}".format("啦啦啦啦啦")
print(strvar) # :, 金钱占位符
strvar = "{:,}".format(3256224583)
print(strvar) # 综合案例
strvar = "我今年{:d}岁,我的语文分数是{:.1f},我心情{:s}".format(23,98.65,"非常好")
print(strvar)

列表的操作:

# ### 列表的相关操作

# 1.列表的拼接(同元组)
lst1 = [1,2,3]
lst2 = [4,5,6,7,8,8]
res = lst1 + lst2
print(res) # 2.列表的重复(同元组)
res = lst1 * 6
print(res) # 3.列表的切片(同元组)
# 语法:列表[::] 完整格式:[开始索引:结束索引:间隔值]
# (1)[开始索引:] 从开始索引截取到列表的最后
# (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
# (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
# (5)[:]或[::] 截取所有列表 lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
# (1) [开始索引:] 从开始索引截取到列表的最后
res = lst[3:]
print(res)
# (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = lst[:6]
print(res)
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = lst[3:6]
print(res)
# (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
# 正向截取
res = lst[::2]
print(res)
# 逆向截取
res = lst[::-2]
print(res)
# (5)[:]或[::] 截取所有列表
res = lst[:]
res = lst[::]
print(res) # 4.列表的获取(同元组)
# 0 1 2 3 4 5 6 7
lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
# -8 -7 -6 -5 -4 -3 -2 -1 res = lst[6]
res = lst[-2]
print(res) # 5.列表的修改(可切片)
'''
要求的数据类型是:可迭代性数据(容器类型数据,range对象,迭代器)
''' lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
# 利用切片可以一次修改多个元素,没有个数上的限制
lst[1:3] = "abcdef"
print(lst) # 切片配合步长,切出多少个元素,修改多少个元素
lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
res = lst[::2] # Alan Sun Huahai Orange
lst[::2] = range(1,5)
print(lst) # 6.列表的删除
lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
del lst[-1]
print(lst) # 删除的是变量res本身,不是列表中的元素
'''
res = lst[-1]
del res
print(lst)
''' # del lst[:2]
del lst[::3] #0 3 6 9 12...
print(lst) # 元组中的列表,里面的元素可以修改;
tup = (1,2,3,[4,5,6,(7,8,9)])
tup[-1][1] = 66
print(tup)

day7:字符串的操作/方法&字符串的格式化format&列表的操作的更多相关文章

  1. Python自动化开发(三):循环次数控制、常用数据类型、字符串格式化、列表常用操作、列表的后续操作

    计数器的作用可以在死循环中,符合条件的情况下做自动退出中断 #!/usr/bin/env python # _*_ coding: utf-8 _*_ # @Time : 2017/3/14 11:2 ...

  2. String常用使用方法,1.创建string的常用3+1种方式,2.引用类型使用==比较地址值,3.String当中获取相关的常用方法,4.字符串的截取方法,5.String转换常用方法,6.切割字符串----java

    一个知识点使用一个代码块方便查看 1.创建string的常用3+1种方式 /* 创建string的常用3+1种方式 三种构造方法 public String():创建一个空字符串,不含有任何内容: p ...

  3. Python 基础之字符串操作,函数及格式化format

    一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你,"strvar2 = "亲爱的姑凉"res = strvar1 + strvar2pr ...

  4. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

  5. 6.python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  6. python字符串-内置方法用法分析

    1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本

  7. python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)

    一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t tab ...

  8. 字符串格式的方法%s、format和python3.6新特性f-string和类型注解

    一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...

  9. python字符串内置方法

    网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...

随机推荐

  1. Android学习笔记StateListDrawable文件

    SateListDrawable,可包含一个 Drawable 数组,让目标组件在不同状态显示不同 Drawable.对应的 xml 文件的根节点 示例 edittext_focused.xml &l ...

  2. Android学习笔记基于回调的事件处理

    流程: 常见的回调方法: 代码示例: @Override public boolean onTouchEvent(MotionEvent event) { Toast.makeText(getAppl ...

  3. JDBC——使用JDBC连接MySQL数据库

    在JDBC--什么是JDBC一文中我们已经介绍了JDBC的基本原理. 这篇文章我们聊聊如何使用JDBC连接MySQL数据库. 一.基本操作 首先我们需要一个数据库和一张表: CREATE DATABA ...

  4. Area.js下载

    因为vant AddressEdit 地址编辑的必要组件area.js网站经常进不去,所以存在这里,area.js 代码如下: export default { province_list: { 11 ...

  5. windows RN 环境搭建(实测心得)

    首先安装官网的装好依赖   这里特别敲掉的是 jdk 必须要1.8的才行: 装了node 就不要 py了.   官网 其次安装 android studio 开发工具 把对应的都装好:     这里的 ...

  6. @PathVariable @RequestParam@RequestBody

    @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariabl ...

  7. mybatis缓存之一级缓存(二)

    这篇文章介绍下mybatis的一级缓存的生命周期 一级缓存的产生 一级缓存的产生,并不是看mappper的xml文件的select方法,看下面的例子 mapper.xml <select id= ...

  8. 入门大数据---Anaconda安装

    1. 什么是Anaconda? Anaconda是一个开源的Python发行版本,python是一个编译器,如果不使用Anaconda那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好.Ana ...

  9. Spring Cloud Alibaba系列(五)sentinel实现服务限流降级

    一.sentinel是什么 sentinel的官方名称叫分布式系统的流量防卫兵.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.在Spring Clou ...

  10. RocketMQ入门到入土(二)事务消息&顺序消息

    接上一篇:RocketMQ入门到入土(一)新手也能看懂的原理和实战! 一.事务消息的由来 1.案例 引用官方的购物案例: 小明购买一个100元的东西,账户扣款100元的同时需要保证在下游的积分系统给小 ...