列表和元组

1. 定义序列

  1. 用一对中括号将序列中的元素括起来
  2. 元素的下标从0开始计算
  3. 同一个序列中,可以是相同类型的元素,也可以是不同类型的元素
  4. 序列中的每个元素可以是另一个序列,这样的序列就相当于二维数组或者多维数组

2. 序列的基本操作

  1. 通过索引号操作序列元素

  2. 索引号的0指的是第一个元素,-1指的是倒数第一个元素,以此类推

  3. 可以通过索引号操作字符串中的元素

  4. 输出超过索引号指定的元素时,会抛出“IndexError: list index out of range”的异常

  5. 切片:简单理解为字符串序列的截取,需要指定开始索引和结束索引,索引下标从0开始,前闭后开,中间以冒号(:)分隔

  6. 开始索引和结束索引的顺序反了,则返回空序列,如a[-3:0]

  7. 可以省略结束索引号,默认为从开始索引一直到序列最后

  8. 可以省略开始索引号,默认为从头开始(索引号为0)截取,一直到结束索引号的前一位结束,也是不包括结束索引号所对应的元素

  9. 步长值:通常设置在中括号[ ] 的第三个位置,可正可负可省略,正数时开始索引号小于结束索引号[1:10:2],负数时开始索引号大于结束索引号[8:2:-2],省略步长值的话默认为1,步长值不可为0,为0时会抛出异常(ValueError: slice step cannot be zero)
    看中括号里面的第一个参数和第二个参数的大小,如果第一个参数小于第二个参数,则步长值为正;如果第一个参数大于第一个参数,则步长值为负

  10. 总结:[s:e:step]

    1. step>0;s<e
    2. step<0;s>e
    3. step=0;异常
    4. step默认为1,s<e
  11. range函数:创建一个证书列表,从0开始到参数值的上一个数字技术

  12. 序列可以进行相加,实质是序列首位相接

    [1,2]+["hello"]=[1,2,3,'h','e','l','l','o']
    
  13. 字符串也属于序列,所以也可以相加,但字符串不能和序列进行相加操作

    [1,2,3]+"hello" = 异常
    TypeError: can only concatenate list(not 'str') to list
    
  14. 序列乘法:复制序列内容n次

  15. 序列长度:len,最大元素值:max,最小元素值:min
    序列在进行max和min进行比较时,需注意序列中元素类型必须一致,否则会抛出异常

3. 列表的基本操作

  1. 列表元素赋值:和数组一样,利用列表的索引,如a[1]=‘1’
  2. 删除列表元素:del列表名[索引号],索引号可正可负,不可超过索引范围,否则会抛出异常
  3. 分片赋值:用另一个列表来修改原列表中的子列表
    1. list()函数:将字符串转换成由字符组成的列表
    2. 在列表中插入列表,则使开始索引和结束索引同号
      n=[1,6,7]
      n[1,1]=[2,3]
      n=[1,2,3,6,7]
      

4. 列表的方法

方法名含义
append在列表最后插入新值
clear清空列表内容
copy复制一个表
remove(元素值)移除某个值第一次匹配项
sort对列表元素进行排序
count统计某个元素在列表中国出现的次数
extend列表结尾插入另一列表,无返回值
index某个值第一次出现的索引位置
pop(索引号)移除列表中的元素(不写的话默认为最后一个元素),返回该值
reverse反向存放列表元素
  1. 区分:
    1. append和序列的加法 :
      [1,2]+[3,4]=[1,2,3,4]
      a=[1,2]		a.append([3,4])=[1,2,[3,4]]
      
    2. 列表的连接的3种方法
      1. a=[1,2,3]
        b=[4,5,6]
        a.extend(b)
        a=[1,2,3,4,5,6] (推荐使用)
      2. a=[1,2,3]
        b=[4,5,6]
        a+b = [1,2,3,4,5,6] (效率更低,不建议使用)
      3. a=[1,2,3]
        b=[4,5,6]
        a[len(a):]=b
    3. 保留原列表,对列表的副本进行排序,默认为升序
      1. 分片操作:x=[5,4,1] ,y=x[:],y.sort()
      2. 使用sorted函数:x=[5,4,1],y.sorted(x)
      3. 降序排列:x=[5,1,4],x.sort(reverse=True)

5. 元组

  1. 元组的本质也是序列
  2. 一次写入,后期不能修改
  3. 用逗号分割
  4. 用小括号作为元组的标志
  5. 创建元组:1,2,3或者(1,2,3)
  6. 单个元素的元组:1,或者(1,)
  7. 空元组:()
  8. 将列表转为元组:tuple([1,2,3])
  9. 综合概括:列表为可读可写的序列,而元组为只读序列
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值