zoukankan      html  css  js  c++  java
  • 3. list 方法

    列表类似于C++中的vector,C语言中的数组,用于存储顺序结构

    创建列表(list

      a=['1','2']       []括起来,表示一个list,中间的各个元素可以是任何类型,用逗号分隔。

     

    列表结构

    计算机生成了可选文字: 一len
一2
一1
0
1
第·个元素
倒数第二个元素
最后·个元素
第·个元素
第二个元素
len一1}最后一个元素

     

    list函数  拆分字符串成列表

    >>> list('chongshi')
    ['c', 'h', 'o', 'n', 'g', 's', 'h', 'i']

     

    修改列表:元素赋值

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

     

    删除元素

    >>> names = ['zhangsan','lisi','wangwu','sunliu']
    >>> del names[2]
    >>> names
    ['zhangsan', 'lisi', 'sunliu']

     

    分片赋值:

    >>> name = list('huzi')
    >>> name
    ['h', 'u', 'z', 'i']
    >>> name[2:]=list('dazhi')
    >>> name
    ['h', 'u', 'd', 'a', 'z', 'h', 'i']

    name的内容为“huzi” ,从第3个字符(2)开始替换,用“da”替换“zi”并被扩容“zhi”,所以新的name的内容为“hudazhi”。

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     

    列表方法

     对象.方法 (参数)

    1append

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

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

     

    2count

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

    >>> ['to','be','or','not','to','be',].count('to')
    2
    >>> x = [[1,2],1,1,[2,1,[1,2]]]
    >>> x.count(1)   
    2
    >>> x.count([1,2])
    1

     

    3、extend

    extend方法可以在列表的末尾一次性追加另一个序列中的多个值。用新列表扩展原有列表:

    >>> a = [1,2,3]
    >>> b = [4,5,6]
    >>> a.extend(b)
    >>> a
    [1, 2, 3, 4, 5, 6]

     

    4、index

    index 方法用于从列表中找出某个值第一个匹配项的。

    >>> knights = ['We','are','the','kninghts','who','say','ni']
    >>> knights.index('who')
    4
    >>> knights[4]
    'who'

     

    5、insert

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

    >>> numbers = [1,2,3,5,6,7]
    >>> numbers.insert(3,'four')
          #插在前面
    >>> numbers
    [1, 2, 3, 'four', 5, 6, 7]

     

    6、pop

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

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

     

    模拟压栈、出栈

    >>> a=[]

    >>> a.append(0)       #压栈

    >>> a.append(1)

    >>> a.append(2)

    >>> a

    [0, 1, 2]

    >>> a.pop()                 #出栈

    2

    >>> a.pop()

    1

    >>> a.pop()

    0

    模拟队列

    >>> a.insert(0,0)   #入队

    >>> a.insert(0,1)

    >>> a.insert(0,2)

    >>> a

    [2, 1, 0]

    >>> a.pop()            #出队

    0

    >>> a.pop()

    1

    >>> a.pop()

    2

    >>> a

    []

    或者:

    >>> a.append(0)        #入队

    >>> a.append(1)

    >>> a.append(2)

    >>> a

    [0, 1, 2]

    >>> a.pop(0)               #出队

    0

    >>> a.pop(0)

    1

    >>> a.pop(0)

    2

    >>> a

    []

     

    7、remove

    remove 方法用于移除列表中某个值的第一个匹配项:  #没有返回值,和pop相反

    >>> x = ['to','be','or','not','to','be']
    >>> x.remove('be')
    >>> x
    ['to', 'or', 'not', 'to', 'be']

     

    8、reverse

    revers方法将列表中的元素反向存放

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

    也可以这样实现:

    >>> list(reversed(x))

     [3, 2, 1]

     

    9、sort

    sort方法用于在原位置对列表进行排序。在“原位置排序”改变原来的列表,从而让其中的元素能按一定的顺序排列(没有返回值)

    >>> x = [4,6,2,1,7,9]
    >>> x.sort()
    >>> x
    [1, 2, 4, 6, 7, 9]

     

    >>> x = [4,6,2,1,7,9]
    >>> y = x
                        #副本排序
    >>> y.sort()

    >>> y

    [1, 2, 4, 6, 7, 9]

     

    #另外一种副本排序方法

    >>> x = [4,6,2,1,7,9]
    >>> y = sorted(x)                 

    >>> y

    [1, 2, 4, 6, 7, 9]

    >>> x

    [4, 6, 2, 1, 7, 9]

    sorted可用于任何序列

    >>> sorted('python')

    ['h', 'n', 'o', 'p', 't', 'y']

     

    10、高级排序

    list去重:   {}.fromkeys(list).keys() 
    list字符排序: list.sort(key=int)   list.sort(key=len)   #指定排序键类型   
                           list.sort(reverse=True)                         #反向排序




    将来的你,一定会感谢现在拼命努力的你。
  • 相关阅读:
    变量
    数据类型
    常量
    synchronized&volatile
    类,方法,成员变量和局部变量的可用修饰符
    类及其组成所使用的常见修饰符
    四种权限修饰符
    import
    finally
    final
  • 原文地址:https://www.cnblogs.com/51runsky/p/4574581.html
Copyright © 2011-2022 走看看