首先,什么是sequence(序列)操作?

  • 字符串的特性被称为sequence(序列) 
H o w a r e y o u ?

就好像存储在一个个连续的单元格里面,每个单元格存储一个字符,每个字符就是一个元素;一个字符串,由若干个元素组成;

一列排下去,每个元素顺序存储在里面的,符合这种存储特性的,就是sequence;

sequence支持相同的操作

  •  位置索引 Index     
    • 标记每个元素的位置
    • 用来获取元素
    • 从左到右,从0开始
    • 可以用正数表示,也可以用负数表示:最后一个元素也可以是a[-1]
    • 长度为n的字符串a,最后一个元素是a[n-1]

    • 索引也可以是表达式

    • 越界

  •  切片操作   
    • 截取(slice)字符串的一部分内容
      • 和索引一样切片的操作符是 []
      • 参数有两个,用:隔开
      • string[begin:end] 从begin开始,到end结束,但是不包含end
      • string[begin:] 从begin开始,到字符串结束
      • string[:end] 从第一个字符开始,到end位置结束,但是不包含end

  •  用正数下标,还是用负数下标       

根据情况来定

  • 获取字符串长度 len()   

 

列表 list        

  •  字符串 是一种sequence类型      
    • 由一个个元素组成
    • 每一个元素是一个字符

  •  列表 也是一种sequence类型     
    • 可以存储任何类型的数据,每个元素可以是任意类型  

  • 列表元素获取(index)与切片(slice)操作
    • 包含列表的列表--元素获取

  

    • 获取列表中列表的元素

    • 切片--产生新对象,原来的对象不变

  • list是一个可变的有序表,所以,可以往list中追加元素到末尾(  append() ):

  • 把元素插入( insert ( index,元素值 ) )到指定的位置,比如索引号为2的位置:

  • 删除list末尾的元素,用 pop() 方法:

  • 删除指定位置的元素,用pop(i)方法:

 

元组 tuple       

  • 元组 也是一种sequence类型   
  • 元组 和 List 很相似,只有一个最大的不同--元组不能改变其组成元素( 元组是不可变的 )
  • 元组的创建和定义

 #4个元素

 #另一种定义方式

 #单个元素元组,只有一个元素的时候也会在元素后面写一个,逗号:以免误解为数学意义上的括号

 #单个元素元组

 #空元组

 #空元组

  • 看一个“可变的”tuple:

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

 

posted on 2018-11-28 15:12  大鱼biubiu  阅读(270)  评论(0编辑  收藏  举报