• 【Python】【列表】


    一、函数list 

      list[列表]

    作用:可将字符串转换为列表

    >>> s = 'abcde'
    >>> l = list(s)
    >>> l
    ['a', 'b', 'c', 'd', 'e']
    >>> ''.join(l)#join无法转换数字列表
    'abcde'
    >>> '+'.join(l)
    'a+b+c+d+e'
    >>> 

    类似的函数有split

    >>> 字符串 = '10203040 '
    >>> 字符串.split('0')
    ['1', '2', '3', '4', ' ']

    二、基本的列表操作

    1、修改列表:给元素赋值  

      列表[索引] = 值

    #不能给不存在的元素赋值,如果需要这样做,则需要提前初始化列表

    >>> l = [1,2,3,4]
    >>> l[0] = 2
    >>> l
    [2, 2, 3, 4]
    >>> l[4] = 1
    Traceback (most recent call last):
      File "<pyshell#17>", line 1, in <module>
        l[4] = 1
    IndexError: list assignment index out of range
    >>> l = [None]*10
    >>> l[9] = 1
    >>> l
    [None, None, None, None, None, None, None, None, None, 1]

    2、删除元素 

      del 列表[索引]

    >>> l = [1,2,3,4]
    >>> del l[0]
    >>> l
    [2, 3, 4]

    3、给切片赋值 

      列表[索引1:索引2:步长] = 值

    (1)可替换为长度不同的序列

    >>> l = [1,2,3,4,5]
    >>> l[1:3] = '拿来吧你'
    >>> l
    [1, '', '', '', '', 4, 5]
    >>> l = [1,2,3,4,5]
    >>> l[1:3] = ['拿来吧你']
    >>> l
    [1, '拿来吧你', 4, 5]

    (2)可插入新元素,可以是多个元素

    >>> l = [0,1,2,3,4,5]
    >>> l[1:1] = ['在索引1前插入']+list('abc')
    >>> l
    [0, '在索引1前插入', 'a', 'b', 'c', 1, 2, 3, 4, 5]
    >>> l = [0,1,2,3,4,5]
    >>> l[5:5] = ['在索引5前插入']
    >>> l
    [0, 1, 2, 3, 4, '在索引5前插入', 5]
    >>> 

    (3)可删除指定范围元素

    >>> l = [1,2,3,4,5]
    >>> l[1:3] = []
    >>> l
    [1, 4, 5]

    三、列表方法

      对象.方法(参数)

    1、append

      列表.append(值)

      作用:在列表末尾插入元素,单个元素

    #append和其他类似方法一致,会直接修改旧列表,不会返回新列表

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

    2、clear

      列表.clear()

      作用:清空列表

    >>> l = [1,2,3]
    >>> l.clear()
    >>> l
    []

    3、copy

      列表2 = 列表1.copy()

      作用:复制列表。常规复制只是将另一个名称关联到同一列表,要让a和b指向不同的列表

    #常规复制,指向同一列表
    >>> lst_1 = [1,2,3]
    >>> lst_2 = lst_1
    >>> lst_2.append(4)
    >>> lst_1
    [1, 2, 3, 4]
    
    #copy复制,指向不同列表,一个是原件,一个是副本
    >>> lst_1 = [1,2,3]
    >>> lst_2 = lst_1.copy()
    >>> lst_2.append(4)
    >>> lst_1
    [1, 2, 3]

    4、count

      列表.count(元素)

      作用:计算指定元素在列表中出现了多少次

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

    5、extend

      列表.extend(扩展列表)

      作用:插入看多个值到列表队尾

    >>> lst = [1,2,3]
    >>> ex_lst = [4,5,6,7]
    >>> lst.extend(ex_lst)
    >>> lst
    [1, 2, 3, 4, 5, 6, 7]

    6、index

      列表.index(元素)

      作用:查找指定元素第一次出现的索引

    >>> lst = ['who','who','are','you']
    >>> lst.index('who')
    0

    7、insert

      列表.insert(索引,值)

      作用:将对象插入指定位置,单个元素

    >>> lst = [0,1,2,3,4]
    >>> lst.insert(0,'索引0前插入')
    >>> lst
    ['索引0前插入', 0, 1, 2, 3, 4]
    >>> lst.insert(2,list('索引2前插入'))
    >>> lst
    ['索引0前插入', 0, ['', '', '2', '', '', ''], 1, 2, 3, 4]

    8、pop

      列表.pop(索引选填,默认为左后一个元素)

      作用:从列表中删除一个元素(默认为最后一个元素),并返回该元素

    >>> lst = [1,2,3,4,5]
    >>> m = lst.pop()
    >>> m
    5
    >>> lst
    [1, 2, 3, 4]
    >>> lst.pop(2)
    3
    >>> lst
    [1, 2, 4]

      用pop可实现一种常见的数据结构——栈(stack)。后进先出(LIFO)

    9、remove

      列表.remove(值)

      作用:删除第一个匹配指定值的元素,不会和pop一样返回删除的值

    >>> x = [1,2,3,1,2,3]
    >>> x.remove(2)
    >>> x
    [1, 3, 1, 2, 3]

    10、reverse

      列表.reverse()

      作用:反序排列列表元素,修改列表,无返回值

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

    11、sort

      列表.sort()

      作用:使元素按序排列,修改列表,无返回值

    >>> lst = [2,45,23,11,3,5,234]
    >>> lst.sort()
    >>> lst
    [2, 3, 5, 11, 23, 45, 234]

      如果想保留排序前的序列,可以先copy一个副本,再sort

      或者使用函数sorted,同样可以使元素按序排列,但会返回一个新的列表,且旧列表不受影响

    >>> lst = [2,45,23,11,3,5,234]
    >>> lst1 = sorted(lst)
    >>> lst
    [2, 45, 23, 11, 3, 5, 234]
    >>> lst1
    [2, 3, 5, 11, 23, 45, 234]

      sorted函数可以应用于任意一个序列,但总是返回一个列表

    >>> sorted('asdwfrtasdccd')
    ['a', 'a', 'c', 'c', 'd', 'd', 'd', 'f', 'r', 's', 's', 't', 'w']

      若要将序列按元素倒序排列,可以先用sort或sorted,再用reverse

    12、高级排序

      方法sort接受两个可选参数:key和reverse。

      (1)key,排序条件

      (2)reverse,正序还是倒序(False/True)

    >>> lst = ['dasd','qwdqwqwd','eee','1']
    >>> lst.sort(key=len)
    >>> lst
    ['1', 'eee', 'dasd', 'qwdqwqwd']
    >>> lst = ['dasd','qwdqwqwd','eee','1']
    >>> lst.sort(key=len,reverse=True)
    >>> lst
    ['qwdqwqwd', 'dasd', 'eee', '1']
  • 相关阅读:
    看懂SqlServer查询计划
    jQuery 插件autocomplete自动完成应用(自动补全)(asp.net后台)
    MVC Html.AntiForgeryToken() 防止CSRF攻击
    iOS开发UI篇—transframe属性(形变)
    iOS开发UI基础—手写控件,frame,center和bounds属性
    iOS开发UI篇—Button基础
    iOS开发UI篇—UITableviewcell的性能优化和缓存机制
    iOS开发UI篇—UITableview控件基本使用
    iOS开发UI篇—UITableview控件简单介绍
    iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)
  • 原文地址:https://www.cnblogs.com/12345zjl/p/15080787.html
Copyright © 2020-2023  润新知