python数据结构之2.String

2.字符串

数据结构思维导图持续跟新中,点击查看 点击打开链接

2.1字符串的运算

(1)字符串的链接

​ 使用几号进行连接,

​ 功能:返回一个新的字符串

​ 注意:加号两边的类型相同,否则会报错

  >>>s1 = "hello"
  >>>s2 = "world"
  >>>print(s1+s2)
  helloworld

(2)字符串的连接 逗号

使用逗号连接,会在逗号位置产生一个空格

功能:返回一个新的字符型

  >>>s1 = "hello"
  >>>s2 = "world"
  >>>print(s1+s2))
  hello world

(3)字符串格式化输出

格式化输出采用% :常用的占位符 %s %d %f

或format语法:“{}{}”.format(s1,s2)

  #使用%格式化输入
  >>>s1 = "hello"
  >>>s2 = "world"
  >>>print("%s %s"%(s1,s2))
  hello world
  #使用format格式化输入
  >>>s1 = "hello"
  >>>s2 = "world"
  >>>print("{} {}".format(s1,s2)
  hello world

(4)使用join进行连接 重点

语法:str.join(列表/元组)

功能:返回一个新的字符串!!!注意只要关于个个数据类型之间的转化的都非常重要

2.2字符串的访问

字符串的访问通过下标的方式:语法 str[索引]

索引符取值范围:【0,len(str)-1) !!!注意python中索引取值范围前闭后开

如果索引为负数的时候是从开始的-1表示最后一个

  >>>s1 = "hello"
  >>>print(s1[-1])
  o

2.3字符串的截取

语法:str[start:stop:step]

  >>>s1 = "hello"
  >>>print(s1[0:3])
  hel
  #注意当索引为负情况
  >>>print(s1[-3:-1])
  ll

2.4成员的判断

in 语法:str1 in str2 如果存在则返回True,否则返回False

  >>>s1 = "hello"
  >>>print("he" in s1)
  True

2.5字符串常用函数

字符串的增、 删、改、查、填充

2.5.1字符串的查询

(1)查询字符串的长度

​ 语法:len(str)

​ 功能:查询字符串的长度,返回字符串的长度

  
  >>>len("hello")
  5

(2)统计元素的个数

语法:str.cont(str1,start,stop)

功能:返回元素的个数

  
  >>>str1 = "Hello World"
  >>>print(str1.count("l",2,8))
  2

(3)查询指定发元素的下标

a、语法:str.find(str1,start,stop)

功能:返回元素的下标,如果指定元素查询不到则会返回-1

  
  >>>str1 = "Hello World"
  >>>print(str1.find("l",2,8))
  2

b、语法:str.rfind(str1,start,stop)

功能从右边开始查找;如果指定元素查询不到则会返回-1

  
  >>>str1 = "Hello World"
  >>>print(str1.find("l"))
  9
  >>>print(str1.find("c"))
  -1

c、语法:str.index(str1,start,stop)

功能:返回指定元素的下标,如果元素不存在则会报错:ValueError: substring not found

  
  >>>str1 = "Hello World"
  >>>print(str1.index("v"))
  ValueError: substring not found
2.5.2字符串的填充

a、字符串剧中显示,左右两边填充指定的字符

语法:str.center(width,fillchar)

功能:返回一个指定宽度居中的字符串,fillchar为填充字符,默认空格 ,不改变原来的字符串

  
  >>>print("hello".center20,"*"))
  *******hello********

b、指定宽度左对齐的字符串 ,不改变原来的字符串

语法:str.ljust(width[, fillchar])

  
  >>>print("hello".ljust(20,"*"))
  hello***************

c、指定宽度左对齐的字符串 ,不改变原来的字符串

语法:str.rjust(width[, fillchar])

  
  >>>print("hello".rjust(20,"*"))
  ***************hello

d、返回一个长度为width字符串,原字符串右对齐,前面补0

语法:str.zfill(width)

  
  >>> str = "Hello World"
  >>> print(str.zfill(50))
  000000000000000000000000000000000000000Hello World
2.5.3字符串的转化

a、大写字母转化为小写字母

语法:str.lower()

功能:返回一个把字符串中的大写字母转换为小写字母 的字符串,不改变原本的字符串

  
  >>> str = "Hello World"
  >>> print(str.lower())
  hello world

b、小写字母转化为大写字母

语法:str.upper()

功能:把小写字母转化为大写字母,返回一个新的字符串原本的不变

  
  >>> str = "Hello World"
  >>> print(str.upper())
  HELLO WORLD

c、大小写反转

语法:str.swapcase()

功能:功能:返回一个把字符串中的大写字母转为小写字母,小写字母转换为大写字母的字符串

  
  >>> str = "Hello World"
  >>> print(str.swapcase())
  hELLO wORLD

d、返回一个首字母大写的

语法: str.capitalize()

功能:返回一个首字母大写,其他小写的字符串

  
  >>> str = "Hello World"
  >>> print(str.capitalize())
  Hello world

e、str.title()

语法:str.title()

功能:返回一个每个单词首字母大写的字符串

  
  >>> str = "Hello World"
  >>> print(str.title())
  Hello World
2.5.4 eval

语法:eval(str)

功能:将字符串str当成有效的表达式来求值并返回计算结果。

可以把list,tuple,dict, set和string相互转化

  >>>num1 = eval('123')
  >>>print(num1)
  123
  
  >>>num2 = eval("[1, 2, 3]")
  >>>print(num2)
  [1, 2, 3]
  
  >>> num3 = eval("12-3")
  >>> print(num3)
  9
2.5.5字符串删除、切片 重点

a、字符串删除左右两边指定的字符串

语法:str.strip(char)

功能:删除字符串左右两边的指定的字符,如果不指定则是删除默认的空白符包括(包括'\n', '\r', '\t', ' ')) 返回一个新的字符串 原本的不改变

  
  >>>str1 = "****hello world****"
  >>>str1.strip("*")
  hello world

b、字符串删除左边指定的字符串

语法:str.lstrip(char)

  
  >>>str1 = "****hello world****"
  >>>str1.lstrip("*")
  hello world****

c、字符串删除右边指定的字符串

  
  >>>str1 = "****hello world****"
  >>>str1.rstrip("*")
  ****hello world

d、切片器

语法:str.split(str="", num=string.count(str))

功能:功能:以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -- 分割次数

返回一个列表

  >>> str1 = "hello you are good"
  >>> str1.split()
  ['hello', 'you', 'are', 'good']
  >>> str1.split(" ",2)
  ['hello', 'you', 'are good ']

你可能感兴趣的:(python)