美文网首页
窝的Python学习之路001 列表

窝的Python学习之路001 列表

作者: Cytosine | 来源:发表于2017-07-24 22:49 被阅读0次
    • 数组:各元素类型 必须 一致
      列表:各元素类型 不必 一致

    创建列表

    创建一个普通列表

    menber = ['Cytosine','Bob','Snape','Amy']
    

    创建一个混合列表

    mix = [1,'Cytosine',3.14, [1,2,3] ]
    

    创建一个空列表

    empty = []
    

    向列表里添加元素

    append()

    menber.append('Lucy')
    

    append只能带一个参数

    extend()

    menber.extend(['Lily','Candy'])
    

    使用一个列表扩展另一个列表

    insert()

    menber.insert(0,'White')
    

    两个参数:
    第一个参数,插入的位置,从0开始
    第二个参数,插入的内容

    删除元素

    remove()

    menber.remove('Lucy')
    

    不需要知道元素在列表中的位置,只要这个元素在这个列表中即可。
    元素不在列表中,则抛出异常。

    del

    #删除member中的第二个元素
    del member[1]
    
    #删除整个memder
    del memder
    

    pop()

    member.pop() 
    

    pop()返回删除掉的值,所以还可以:

    name = member.pop()
    

    pop()还可以带参数,参数是想要删除的元素的索引:

    member.pop(0)
    

    列表分片 Slice

    • 取member[1]和member[2]
    member[1:3]
    
    • 取member[0],member[1],member[2]
    member[:3]
    
    • 取member[3],...,member的最后一个元素
    member[3:]
    

    列表的比较

    >>> list1 = [123]
    >>> list2 = [234]
    >>> list1 > list2
    False
    >>> list1 = [123,456]
    >>> list2 = [234,123]
    >>> list1 > list2
    False
    

    从索引为0的元素开始,只要列表A中的第index个元素大于列表B中的第index元素,列表A则大于列表B。

    列表的相加

    >>> list1 = [123,456]
    >>> list2 = [234,123]
    >>> list3 = list1 + list2
    >>> list3
    [123, 456, 234, 123]
    >>> 
    

    不建议直接使用+,建议使用 extend()代替。

    列表的*

    >>> list1
    [123, 456]
    >>> list1 * 3
    [123, 456, 123, 456, 123, 456]
    
    >>> list1 = [123,456]
    >>> list1
    [123, 456]
    >>> list1 *=3
    >>> list1
    [123, 456, 123, 456, 123, 456]
    

    列表的成员关系运算符

    >>> list1 = [123,456]
    >>> list1
    [123, 456]
    >>> 123 in list1
    True
    >>> 234 not in list1
    True
    

    注意

    >>> list2 = [123, ['Cytosine', 'Amy'], 456]
    >>> 'Cytosine' in list2
    False
    >>> 'Cytosine' in list2[1]
    True
    

    访问列表中列表的元素

    类似C语言二维数组:

    >>> list2 = [123, ['Cytosine', 'Amy'], 456]
    >>> list2[1][0]
    'Cytosine'
    

    其他

    count()

    计算某元素在列表中出现的次数

    >>> list1
    [123, 456]
    >>> list1 *= 5
    >>> list1
    [123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
    >>> list1.count(123)
    5
    

    index()

    返回元素在列表中第一次出现的索引。
    带一个参数:需要查找的元素。
    带三个参数:需要查找的元素,起始查找位置,终止查找位置

    >>> list1
    [123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
    >>> list1.index(123)
    0
    >>> list1.index(123, 3, 7)
    4
    

    reverse()

    倒置列表

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

    sort()

    • 排序。
    • 不带参数时,默认从小到大。
    • 从大到小排序:
    list1.sort(reverse=True)
    
    • sort(func ,key, reverse)
      排序算法,排序算法中的关键字,从小到大还是从大到小。
      排序算法默认是归并排序。
      reverse默认是reverse=False,从小到大。

    列表的拷贝

    方法一:分片

    list2 = list1[:]
    

    不能使用 list3 = list1 !!!重点

    相关文章

      网友评论

          本文标题:窝的Python学习之路001 列表

          本文链接:https://www.haomeiwen.com/subject/qazbkxtx.html