zoukankan      html  css  js  c++  java
  • python列表

    列表:

      列表的功能十分强大,它不同于元组和字符串,列表的内容是可变的。本次将介绍一些序列中没有而列表中有的方法。

      1、元素赋值

      赋值语句是最简单的改变列表的方式,如a=1就是一种改变列表的方式。我们可以通过编号标记某个特定位置的元素,并对该位置的元素重新赋值,如:

    a=[1,2,3,4,5]
    print(a)
    a[1]=5
    print(a)

       那么是否可以赋不同类型的值呢?让我们尝试一下,输入:

    a=[1,2,3,4,5]
    print(a)
    a[1]='he'
    print(a)

       结果是可行的。通过上面的尝试,我们得知,可以对一个列表中的元素赋予不同类型的值。上述列表a中既有int型,也有str型元素。当对列表赋值时使用的编号超过列表最大编号,程序报错:

       由此可知,不能给一个不存在的元素赋值。

      2、增加元素

      一旦初始化了一个列表,我们就不能再往这个列表中增加元素了。若需要往列表中增加元素,则需要将整个列表中的元素都复制一遍,再添加需要增加的元素。python为我们提供了对应的方法append()来解决这个问题。append()方法是一个用于在列表末尾添加新对象的方法。具体语法为:

    list.append(obj)
    #其中list为列表,obj为需要添加到列表末尾的对象

      append()不是简单地返回修改后的新列表,而是直接修改原来的列表。如:

    a=[1,2,3,4,5]
    a.append(0)    #在列表a后添加‘0’
    print(a)
    a.append('aa')    #在列表a后添加‘aa’
    print(a)

      

       3、删除元素

      Python为我们提供了三种删除元素的方法:

      (1)使用del语句删除列表元素

          这种方法适用于知道所需要删除的元素在列表中的位置,即知道该元素在列表中的编号。如:

    a=[1,2,3,4,5]
    del a[2]
    print(a)

      (2)使用方法pop()删除列表元素

          当我们不知道待删除元素的编号,或是删除后还需要用该值时,可以选择这个方法。pop()可以删除列表末尾的元素,删除后的值仍可以打印出来。如:

    a=['1','2','3']
    b=a.pop()
    print(a)
    print(b)

      (3)使用方法remove()删除指定值的元素

          当我们只知道待删除元素的值,而不知道其在列表中的位置时,可以使用remove()方法。如:

    a=[1,2,3,4,5,6]
    a.remove(1)
    print(a)

           需要注意的是,remove()方法只会删除列表中第一个指定的值,若列表中存在多个相同的值需要删除,需要使用循环语句操作。如:

    a=[1,4,1,2,1,3,1]
    a.remove(1)
    print(a)

    a=[1,4,1,2,1,3,1]
    b=a.count(1)
    for i in range(b):
        a.remove(1)
    print(a)

      4、分片赋值

        分片赋值我们需要用到一个新函数——list()函数,list()函数可以直接将字符串转换为列表。分片赋值可以使用与原序列不等长的序列将序列分片替换。如:

    a=list('hie')
    print(a)
    a[1:]=list('ello')
    print(a)

         分片赋值还可以在不替换任何原有元素的情况下在任意位置插入新元素。

    a=list('h!')
    print(a)
    a[1:1]=list('ello')
    print(a)

         同理,分片赋值也支持对序列中任意位置的元素进行删除的操作。

    a=list('hello!')
    print(a)
    a[1:5]=[]
    print(a)

    列表方法:

      方法是与对象有紧密联系的函数,对象可能是列表、数字,也可能是字符串或其他类型的对象。方法的调用语句如下:

      对象.方法(参数)

      方法的定义方式是将对象放到方法名之前,两者之间用 ‘.’ 隔开,方法后面的括号可以根据需要带上参数。

      1、count()

        count()方法用于统计某个元素在列表中 出现的次数,方法语句如下:

    list.count(obj)

        示例如下:

    a=list('hello')
    print("列表中字母l的个数:",a.count('l'))

       

      2、extend()

        extend()方法用于在列表末尾 一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。

        示例如下:

    a=['hello','world']
    b=['a','b']
    a.extend(b)
    print(a)

       3、index()

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

        示例如下:

    a=['hello','world']
    print('hello的索引位置为:',a.index('hello'))
    print('world的索引位置为:',a.index('world'))

      4、insert()

        insert()方法用于从列表中找出某个值第一个匹配项的索引位置。方法语句如下:

    list.insert(index,obj)
    #list代表列表,index代表对象obj需要插入的索引位置,obj代表要插入列表中的对象。

        示例如下:

    a=[1,2,3]
    print('插入前:',a)
    a.insert(2,2.5)
    print('插入后:',a)

       5、reverse()

        reverse()方法用于反向列表中的元素。

        示例如下:

    a=[1,2,3]
    print('反转前:',a)
    a.reverse()
    print('反转后:',a)

       6、sort()

        sort()方法用于对原列表进行排序,如果指定参数,就使用参数指定的比较方法进行排序。

        示例如下:

    a=[5,4,2,6,9,3,0,7]
    print('调用sort()方法前:',a)
    a.sort()
    print('调用sort()方法后:',a)

  • 相关阅读:
    Linux下制作和使用静态库和动态库
    C语言的内存管理
    C语言柔性数组
    大小端模式
    C位域操作
    C/C++字节对齐
    C/C++指针
    Linux之Socket编程
    VSCode配置FTP
    GCC的编译过程和链接
  • 原文地址:https://www.cnblogs.com/zhangmingfeng/p/11749952.html
Copyright © 2011-2022 走看看