Python-数据结构-字符串

1.字符串的标识

  字符串用单引号、双引号或三重引号标识,字符串是不可变的。

  ‘hello World!’   “Hello World!” 

     """hello

      World!"""

2.字符串的分行

  (1)用单引号和双引号的字符串分行必须借助分行符\n,例如:

  或者

  

  若使用\n该字符串必须在一行,否则会报错;若想要写两行字符串需要写为\n\,最后一个\表示下一行延续本行的内容。

  (2)三重引号的分行不需要分行符\n,例如:

  

  因为三重分隔符会保留原始格式。

3.字符串的连接

  (1)字符串之间可以用+连接

    “Hello”+“World”+“!”  -->HelloWorld!

  (2)字符串之间可以用*循环,相当于做乘法

    "Hello"*5+"World!"  -->HelloHelloHelloHelloHelloWorld!

  (3)字符串之间可以自动连接,只限字符串之间,字符串和表达式不可以

    “Hello”“World!”       -->HelloWorld!

4.字符串的索引查询

  (1)索引查询

    字符串的第一个下标是0,依次类推。

    var = "String"

    var[4]          -->n

  (2)切片索引

    所谓切片即将字符串切成一片一片的,例如:

    

       

    第一行是正索引,第二行是负索引。正索引切片的长度就是两索引的差。

      var[1:4]    -->elp     

      var[:4]     -->Help

      var[3:]     -->pA 

      var[-4:-2]   -->el

      var[-3:]    -->lpA

      var[:-2]    -->Hel

      var[4:3]    -->空    

    下界比上界大的索引返回空的字符串;

    上界或下界没有值的,默认为从最右或者最左开始。

5.字符串的格式化

   字符串格式化操作符(%)实现格式化。

  print('Hello %s,%s enough for ya!'%('World','Hot'))

  %:表示需要插入转换值的位置。

  s:表示值会被转化为字符串,也可以用其他代替,如下3-1表。

  转换标志:-表示左对齐,+表示在转换值之前加上正负号,“ ”(空白字符)表示正数之前保留空格,

6.字符串的方法

  (1)find()

    返回子串在字符串中的最左端的位置,若没有则返回-1。

     s = 'Hello World!'

     print(s.find('rl'))

     print(s.find('rl',2,5))  --2表示查找的起始点,5表示查找的结束点

  (2)join()

    用于连接两个字符串,可以将序列连接为字符串,也可以连接字符串。

    s1 = ['1','2','3','4']

    s3 = '12345'

    s2 = '+'

    print(s2.join(s1))  -->1+2+3+4

    print(s2.join(s3))  -->1+2+3+4+5

  (3)lower()

    返回字符串的小写。

  (4)replace(a,b)

    返回字符串的a部分被b替换后的字符串。

  (5)split()

    是join的逆方法,用于将字符串分隔为序列。

    '1+2+3+4'.split('+')  -->['1', '2', '3', '4']

  (6)strip()

    返回去除两侧空格的字符串。

  (7)maketrans()

    maketrans在3.0以前的版本中是通过form string import maketrans导入的,3.0以后的版本中maketrans变为了内建函数,调用有以下几种方式:

    str.maketrans()、bytearray.maketrans()、bytes.maketrans()。

    作用:用于创建字符串映射的转换表,maketrans(a,b)参数a是被取代的字符(或字符串)b是取代的字符(或字符串),a与b必须是两个等长的字符串。

  (8)translate()

    用于字符串的替换,在替换之前要先创建个table作为第一个参数,这个table中包含256个字符。translate函数还有第二个参数,用于删除某字符。这两个参数都是可选的。若只有第一个参数,则只替换,若只有第二个参数,则只删除。

  string = 'hahkdfab123djak123'

  a = '123'

  b = 'asd'

  table = str.maketrans(a,b)

  print(len(table))  -->256

  print(string.translate(table))  -->hahkdfabasddjakasd

    

  

 

 

 

 

 

    

 

 

  

 

posted on 2017-01-06 23:44  Viga  阅读(256)  评论(0)    收藏  举报