1、分隔、合并字符串

  分隔字符串是把字符串分隔为列表,而合并字符串是把列表合并为字符串,分割字符串和合并字符串可以看作是互逆操作。

  (1)分隔字符串

  字符串对象得split()方法可以实现字符串分隔,把一个字符串按照指定得分隔符切分为字符串列表,该列表的元素中不包括分隔符。split()方法的格式如下。

str.split(sep,maxsplit)
  #str:表示要进行分隔的字符串
  #sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行"\n"、制表符"\t"等)
  #maxspllit:可选参数,用于指定分隔的次数,如果不指定或者为-1,则分隔次数没有限制,否则返回结果列表的元素个数,个数最多为maxsplit+1
  #返回值:分割后的字符串列表

  在split()方法中,如果不指定sep参数,那么也不能指定maxsplit参数。

  (2)输出人名:

str1='@Python @Java @Linux'
list1=str1.split(' ')
print('您@的好友有')
for item in list1:
  print(item[1:])

2、合并字符串

  合并字符串与拼接字符串不同,它会将对多个字符串采用固定的分隔符连接在一起。

  合并字符串可以使用字符串对象join()方法实现,语法格式如下:

strnew=string.join(iterable)
  #strnew:表示合并后生成的新字符串
  #string:字符串类型,用于只当合并时的分隔符
  #iterable:可迭代对象,该迭代对象中的所有元素(字符串表示)将被合并为一个新的字符串。string作为边界点分隔出来。
name=['库里','哈登','欧文','沃克']
new_name='+'.join(name)  #用“+”进行连接
print('NBA球星为:',new_name)

 5.1.5 检索字符串

1、count()方法

  count()方法用于检索指定字符串在另一个字符串中出现的次数。如果检索的字符串不存在,则返回0,否则返回出现的次数。其语法格式如下:

str.count(sub[,start[,end]])
  #str:表示原字符串
  #sub:表示要检索的子字符串
  #start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。
  #end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。
name=['库里','哈登','欧文','沃克']
new_name=name.count('哈登')
print(new_name)

2、find()方法

  该方法用于检索是否包含指定的子字符串。如果检索的字符串不存在,则返回 -1 ,否则返回首次出现该子字符串时的索引。其语法格式如下:

str.find(sub[,start[,end]])
  #str:表示原字符串
  #sub:表示要检索的子字符串
  #start:可选参数,表示要检索范围的其实位置的索引,如果不指定,则从头开始检索。
  #end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。
name='詹姆斯,戴维斯,唐斯,考辛斯'
print(name.find('斯'))

  表示第一次出现该字符的下标。

3、index()方法

  用于检索指定的字符串,如果指定的字符串不存在时则抛出异常。

str.index(sub[,start[,end]])

4、startswith()方法

  startswith()方法用于检索字符串是狗以指定字符串开头,如果是返回True,否则返回False。

str.startswith(sub[,start[,end]])
name='詹姆斯,戴维斯,唐斯,考辛斯'
print(name.startswith('斯'))

5、endswith()方法

  endswith()方法用于检索字符串是否以指定子字符串结尾,如果是返回True,否则返回False。

str.endswith(sub[,start[,end]])
name='詹姆斯,戴维斯,唐斯,考辛斯'
print(name.endswith('斯'))

5.1.6 字母的大小写转换

  在Python中,字符串对象提供了lower()方法和upper()方法进行字母的大小写转换,即可用于将大写字母转换为小写字母或者将小写字母转换为大写字母。

1、lower()方法

  lower()方法用于将字符串中的大写字母转换为小写字母,如果字符串中没有需要被转换的字符将原字符串返回。

str.lower()
  #str为要转换的字符串
url="WWW.baidu.Com"
print(url.lower())

2、upper()方法

  upper()方法用于将字符串中的小写字母转换为大写字母,如果跟字符串中没有需要被转换的字符将原字符返回。

str.upper()
  #str为要转换的字符串
url="WWW.baidu.Com"
print(url.upper())

 5.1.7 去除字符串中的空格和特殊字符

  去除在输入数据时无意输入空格或字符串前后不允许出现空格和特殊数字。

  strip() 方法 --- 去除字符串左右两边的空格和特殊字符。

  lstrip()方法 -- 去除字符串左边的空格和特殊字符。

  rstrip()方法 -- 去除字符串右边的空格和特殊字符。

  特殊字符指的是 制表符 \t ,回车符 \r,换行符 \n等。只能去除左右,不能去除中间。

1、strip()方法

str.strip([chars])
  #str:要去除空格的字符串
  #chars:可选参数,用于指定要去除的字符,可以指定多个,如果设置的是"@.",则去除左、右两侧包括的"@"或".",如果不指定chars参数,默认去除空格和特殊字符
str1=" 好好学习,努力  \t\n"
print("str1原字符串:",str1)
print("str1现字符串:",str1.strip())
str2="@...1234.567.8@"
print("str2原字符串:",str2)
print("str2先字符串:",str2.strip('@.'))

2、lstrip()方法

  用于去掉字符串左侧的空格和特殊字符。

str1="  \nwww.baidu.com  \n"
print("原字符串:",str1)
print("现字符串:",str1.lstrip())

3、rstrip()方法

  用于去除字符串右侧的空格的特殊字符

str1="  \nwww.baidu.com  \n"
print("原字符串:",str1)
print("现字符串:",str1.rstrip())

5.1.8 格式化字符串

  格式化字符串是指先制定一个模板,在这个模板中预留几个空位,然后再根据需要填上相应的内容。这些空位需要通过指定的符号标记(也称为占位符),而这些符号不会显示出来。

1、使用”%“操作符。

'%[-][+][0][m][.n]格式化字符'%exp
  -      可选参数,用于指定左对齐,正数前方无符号,负数前面加符号。
  +      可选参数,用于指定有对齐,正数前方加正号,负数前方加负号。
  0      可选参数,表示右对齐,正数前方无符号,负数前方加负号,用0填充空白处(一般与m参数一起使用)
  m      可选参数,表示占有宽度。
  .n      可选参数,表示小数点后保留的位数。
  格式化字符  用于指定类型。  
  exp     要转换的项,如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。

2、常用的格式化字符。

  格式化字符      说明          格式化字符        说明

  %s       字符串(采用str()显示)      %r          字符串(采用repr()显示)

   %c             单个字符            %o           八进制整数  

   %d或者%i     十进制整数          %e           指数(基底写为e)

   %x        十六进制整数          %E           指数(基底写为E)

   %f或者%F          浮点数             %%          字符%         

  例:格式化输出一个保存公司信息的字符串。

name='编号:%06d\t公司名称:%s\t官网:www.%s.com'
con1=(6,'百度','baidu')
con2=(7,'腾讯','tencent')
print(name%con1)
print(name%con2)

人生苦短,我用Python(6)的更多相关文章

  1. 人生苦短,我用Python(1)

    一.人生苦短,我用Python 在文章的开头给大家介绍一下Python语言,作者Guido von Rossum.对,就是图中的“人生苦短我用Python”那哥们.你可能以为我会用很多文字介绍Pyth ...

  2. 人生苦短之---认识Python

    认识 Python 人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 为什么要用 Python? Python 的特点 Py ...

  3. 初学者路径规划 | 人生苦短我用Python

    纵观编程趋势 人生苦短,我用Python,比起C语言.C#.C++和JAVA这些编程语言相对容易很多.Python非常适合用来入门.有人预言,Python会成为继C++和Java之后的第三个主流编程语 ...

  4. 人生苦短我用Python 第三周 函数周

    函数的定义: 1,def 函数名(参数1,参数2......): "注释:函数的作用和参数,增加可读性", 2,函数体 3,返回值 最简单的函数: def func(): prin ...

  5. 人生苦短,我用python(目录)

    一.python基础篇 python中闭包及延时绑定问题 python中的装饰器.生成器 二.前端 bootstrap框架 BOM&DOM JavaScript中的词法分析 三.数据库 mys ...

  6. 人生苦短,我用python

    星空不问赶路人,时光不负有心人,你可以脱变. 1.计算机的初步认识 2.解释器的安装 python2.7(2020年官方不在维护) python3.6 (官方推荐) 1.下载安装包 https://w ...

  7. 深度学习之美(张玉宏)——第四章 人生苦短我用python

    1 函数参数 (1)收集参数:以一个星号*加上形参名的方式,表示这个函数的实参个数不定,可能0个可能n个. def varParaFun(name,*param): print('位置参数是:',na ...

  8. 人生苦短我用Python,本文助你快速入门

    目录 前言 Python基础 注释 变量 数据类型 浮点型 复数类型 字符串 布尔类型 类型转换 输入与输出 运算符 算术运算符 比较运算符 赋值运算符 逻辑运算符 if.while.for 容器 列 ...

  9. 人生苦短 我用Python 第二周的第一天 (数据类型)

    数字:  整形  int  长整形(Python3里面把整形.长整形和到一起啦) 浮点型( float) 1.3 5.2 等等  科学技术发表示 1.3e-3=0.0013 e的代表10. bin是二 ...

  10. 一句话打印'*'图案(列表推导式, 人生苦短, 我用Python)

    ```python # coding=utf-8 print ('\n'.join(['*'*6 for i in range(4)])) # ****** # ****** # ****** # * ...

随机推荐

  1. HDFS Concepts-blocks

  2. 宝塔linux

    宝塔linux linux 定时任务管理

  3. es6新增语法之`${}`

    这是es6中新增的字符串方法 可以配合反单引号完成拼接字符串的功能 1.反单引号怎么打出来?将输入法调整为英文输入法,单击键盘上数字键1左边的按键. 2.用法step1: 定义需要拼接进去的字符串变量 ...

  4. [转][ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [下篇]

    由于ASP.NET Core框架在本质上就是由服务器和中间件构建的消息处理管道,所以在它上面构建的应用开发框架都是建立在某种类型的中间件上,整个ASP.NET Core MVC开发框架就是建立在用来实 ...

  5. 彻底解决tensorflow:ImportError: Could not find 'cudart64_90.dll' tensorflow安装

    今天装tensorflow-gpu出现了很多问题 1.pip install tensorflow-gpu下载过慢 解决办法可查看 Python机器学习常用模块 2.安装完tensorflow以后,运 ...

  6. H3C 配置二层ACL

  7. HDU 3746 Cyclic Nacklace(kmp next数组运用)

    Cyclic Nacklace Problem Description CC always becomes very depressed at the end of this month, he ha ...

  8. 【u034】追查坏奶牛

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 你第一天接手三鹿牛奶公司就发生了一件倒霉的事情:公司不小心发送了一批有三聚氰胺的牛奶.很不幸,你发现这 ...

  9. 2019牛客多校第一场 I Points Division(动态规划+线段树)

    2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有 ...

  10. sparksql 练习题两道

    第一题:select '{"id":1,"name":{"url":"http://xxx/yyy/zz/test.js" ...