zoukankan      html  css  js  c++  java
  • 序列——列表和元组(二)

    1、列表:Python的“苦力”

     1.1 list函数

      >>>list('Hello')

      ['H','e','l','l','o']

      注意,list函数适用于所有类型的序列,而不只是字符串。

      提示  可以使用''.join(somelist)将一个由字符组成的列表转换为字符串。

     1.2改变列表:元素赋值

      >>>x=[1,1,1]

      >>>x[1]=2

      >>>x

      [1,2,1]

      注意,不能为一个位置不存在的元素进行赋值。如果列表长度为2,那么不能为索引为100的元素进行赋值。

     1.3删除元素

    >>>names=['Alice','Bech','Cecil','Dee-Dee','Earl']
    >>>del names[2]
    >>>names
    ['Alice','Bech','Dee-Dee','Earl']

     1.4分片赋值

      程序可以一次为多个元素赋值,可以使用与原序列不等长的序列将分片替换

    >>>name=list('Perl')
    >>>name[2:]=list('ar')
    >>>name
    ['P','e','a','r']
    
    >>>name[1:]=list('ython')
    >>>name
    ['P','y','t','h','o','n']
    #分片赋值语句可以在不需要替换任何原有元素的情况插入新的元素;
    >>>numbers=[1,5]
    >>>numbers[1:1]=[2,3,4]
    >>>numbers
    [1,2,3,4,5]
    #以此类推,通过分片赋值删除元素也是可以的
    >>>numbers[1:4]=[]
    >>>numbers
    [1,5]
    #上面的例子的结果和del numbers[1:4]的一样。也可以利用1之外的步长,甚至是负数进行分片。
    

     2、列表方法

      方法是一个与某些对象有紧密联系的函数,对象可能是列表、数字,也可能是字符串或者其他类型的对象。一般来说,方法可以这样进行调用:对象.方法(参数)

     2.1 append  该方法用于在列表末尾追新的对象:

    >>>lst=[1,2,3]
    >>>lst.append(4)
    >>>lst
    [1,2,3,4]

     2.2 count 该方法统计某个元素在列表中出现的次数

    1 >>>['to','be','or','not','to','be'].count('to')
    2 2
    3 >>>x=[[1,2],1,1,[2,1,[1,2]]]
    4 >>>x.count(1)
    5 2
    6 >>>x.count([1,2])
    7 1

     2.3 extend 该方法可以在列表的末尾一次性追加另一个序列中的多个值。换句话说,可以用心列表扩展原有的列表:

     1 >>>a=[1,2,3]
     2 >>>b=[4,5,6]
     3 >>>a.extend(b)
     4 >>>a
     5 [1,2,3,4,5,6]
     6 #这个操作看起来很像连接操作,两者最主要的区别在于:extend方法修改了被扩展的序列a。#而原始的连接操作则不然,它仅仅会返回一个全新的列表:
     7 >>>a=[1,2,3]
     8 >>>b=[4,5,6]
     9 >>>a+b
    10 [1,2,3,4,5,6]
    11 >>>a
    12 [1,2,3]
    13 #当然也可以如下操作,但是连接操作的效率会比extend方法低。
    14 >>>a=a+b
    15 #我们可以使用分片赋值来实现相同的结果:
    16 >>>a=[1,2,3]
    17 >>>b=[4,5,6]
    18 >>>a[len(a):]=b
    19 >>>a
    20 [1,2,3,4,5,6]
    21 #虽然以上操作也可以,但是代码的可读性不如extend方法了

     2.4 index 该方法用于从列表中找出某个值第一个匹配项的索引位置:

    >>>knights=['we','are','the','knights','who','say','in']
    >>>knights.index('who')
    4
    >>>knights.index('herring')
    valueError: list.index(x):x not in list
    #获取不存在于列表中的元素索引会抛错

     2.5 insert 该方法用于将对象插入到列表中:

    1 >>>numbers=[1,2,3,5,6,7]
    2 >>>numbers.insert(3,'four')
    3 >>>numbers
    4 [1,2,3,'four','5,6,7]
    5 #与extend方法一样,insert方法的操作也可以用分片赋值来实现。
    6 >>>numbers=[1,2,3,5,6,7]
    7 >>>numbers[3:3]=['four']#不可以写成numbers[3:3]='four',否则结果变成[1,2,3,'f','o','u','r',5,6,7]
    8 >>>numbers
    9 [1,2,3,'four',5,6,7]

     2.6 pop 该方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值:

    1 >>>x=[1,2,3]
    2 >>>x.pop()
    3 3
    4 >>>x
    5 [1,2]
    6 >>>x.pop(0)
    7 1
    8 >>>x
    9 [2]

      pop方法是唯一一个既能修改列表又返回元素值(除了None)的列表方法。[None,None].pop()就不会返回值。

    pop和append方法的操作结果恰好相反,如果入栈刚刚出栈的值,最后得到的结果还是原来的栈:

      >>>x=[1,2,3]

      >>>x.append(x.pop())

      >>>x

      [1,2,3]

  • 相关阅读:
    JAVA 设计的七大原则
    电脑开机一支黑屏 ,只有鼠标
    oracle 创建表空间 、用户 、赋权、建表
    input 标签禁止输入
    input框限制只能输入正整数、字母、小数、汉字
    LINUX 解压文件
    LINUX vim 修改文件 退出
    layui table表格字段过长,展示不完整时,鼠标放到上面展示完整信息
    全网最全JS正则表达式 校验数字
    《学习笔记》基於NOPI開發 ExeclHelper工具類
  • 原文地址:https://www.cnblogs.com/allen0/p/7096621.html
Copyright © 2011-2022 走看看