序列概述

序列是一类数据容器的统称。包括:元组、列表、字符串、Unicode字符串、buffer对象、xrange对象。

这次主要就序列的通用用法和字符串的使用进行介绍。

  • 通用序列操作

    操作 描述
    X1+X2 连接两个字符串
    X*n 序列重复N次,形成新的序列
    X[i:j:k] 切片,i 默认为0,j 默认为结束处,k 默认为1
    len(X) 计算X中的成员数量
    max(X) 序列X中的最大值
    min(X) 序列X中的最小值
    V [not] in X 检查V是否在X内
    • 在python中,切片大多是左闭右开的区间

    • 访问数据的方法和数组类似,但值得一提的是,序列可以通过负数进行逆序操作。比如:

      X=[1,2,3,4,5]
      X[-1:-4:-1]
      #-1处是5  -4处是2  步长为-1,说明要倒着读取
      #表示的是【5,4,3】
      
    • 复制序列

      序列的复制只能通过切片的方法进行,反之则有些类似与指针的操作。

      a=[1,2,3,4,5]
      b=a      #这里相当于指针b和a指向的是同一个数据
      b[0]=0   #当b的内容变动时,a也会变
      print(a)
      #输出:【0,2,3,4,5】
      
      
      a=[1,2,3,4,5]
      b=a[:]      #这里相当于将a的所有数据切片切给了b,这是a和b就是两个相互独立的数据
      b[0]=0      #当b的内容变动时,a不会变
      print(a)
      #输出:【1,2,3,4,5】
      
      
    • 查找序列 v (not) in X

      这里,v可以是数,可以是列表,也可以是字符串。但是列表的使用稍有不同。

      a=[1,2,3,4,5]
      b=[[1,2],3,4,5]
      s='hello'
      
      #数据
      1 in a
      #True
      
      #列表
      [1,2] in a
      #False
      [1,2] in b
      #True
      
      #字符串
      'h' in s
      #True
      'he' in s
      #True
      
  • 字符串

    • 长字符串

      字符串可以用单引号,双引号,三引号表示,也有一些不同的用法。

      1. 单对引号表示有段落分割的字符串

        'hello \
        world'
        #输出结果是:hello world
        
      2. 原始字符串r

        使用原始字符串,则反斜杠\ 不会被当成转义字符标志

        s="hello\nworld"
        # hello 
        # world
        t=r"hello\nworld
        #hello\nworld"
        
      3. 不同于数组,字符串序列不可更改

        s="heool"
        s[0]="k"
        #报错
        
  • 字符串的常用方法或函数

    函数 描述
    S.title() S.lower() S.upper() 字符串首字母大写 全部小写 全部大写
    S.strip() S.rstrip() S.lstrip() 删去前后空格 删去右空格 删去左空格 只要含有括号内的就删去
    S.find(sub【,start,end】) ps: 可以有rfind() 在字符串中查找字符串sub首次出现的位置,找到返回位置,未找到则返回-1
    S.replace(old,new【,num】) 在字符串中用new字符串代替old字符串(num未说明就只要出现就换)
    S.join(X) 将x分别插入字符串空隙
    S.spilt(SEP=None【,num】) 将字符串拆分成列表,默认按照空格分隔
    S.count(sub【,start,end】) 计算字符串sub在字符串S中出现的次数
    S.startswith() S.endswith() 查找开头、结尾是否是某个字符串,返回布尔值
    S.isalnum() S.isalpha() S.isdecimal() 字符串由字母或数字组成 字符串只由字母组成 字符串只由十进制组成 全部返回布尔值
    s="123dfc332"
    s.rstrip('3')
    #'123dfc332'
    s.rstrip('32')
    #'123dfc'
    
    >>> s="1 2 3 4 5"
    >>> s.split()
    ['1', '2', '3', '4', '5']
    >>> s.split(" ",2)
    ['1', '2', '3 4 5']
    
    #要求列表里面都是字符串
    >>> s="sssssss"
    >>> "+".join(s)
    's+s+s+s+s+s+s'
    
    #数字
    >>> s="12345"
    >>> s="isisisis"
    >>> s.replace("is","are")
    'areareareare'
    >>> s
    'isisisis'
    >>> s.replace("is","are",3)
    'areareareis'
    >>> 
    
posted @ 2020-07-18 15:57  life_if_forever  阅读(486)  评论(0)    收藏  举报