zoukankan      html  css  js  c++  java
  • Python 中的list小结

    list的下标和子list

         list的下表从零开始,和C语言挺类似的,但是增加了负下标的使用。

    -len-----第一个元素

    ......       ......
    -2 ------ 倒数第二个元素

    -1 ------ 最后一个元素

    0 ------ 第一个元素

    len-1 ------ 最后一个元素

    >>> a=[0,1,2,3,4,5,6,7]
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7]
    >>> i = -len(a)
    >>> i
    -8
    >>> while i < len(a):
    	print "a[",i,"]=",a[i]
    	
    SyntaxError: invalid syntax
    >>> while i < len(a):
    	"a[" , i , "]=" , a[i]
    	i += 1
    
    	
    ('a[', -8, ']=', 0)
    ('a[', -7, ']=', 1)
    ('a[', -6, ']=', 2)
    ('a[', -5, ']=', 3)
    ('a[', -4, ']=', 4)
    ('a[', -3, ']=', 5)
    ('a[', -2, ']=', 6)
    ('a[', -1, ']=', 7)
    ('a[', 0, ']=', 0)
    ('a[', 1, ']=', 1)
    ('a[', 2, ']=', 2)
    ('a[', 3, ']=', 3)
    ('a[', 4, ']=', 4)
    ('a[', 5, ']=', 5)
    ('a[', 6, ']=', 6)
    ('a[', 7, ']=', 7)

    子list的提取:

            可通过下标指定范围,用于提取出一个list的一部分。下标表明位置,一个是起始位置,一个是结束位置,中间使用冒号分割,如果不指定起始位置,则默认从0开始,如果不指定结束位置,结束位置为-1,子list表示包括起始位置处的元素,一直到结束位置,单数不包括结束位置的元素。负下标也可以参与下标的表示:

    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7]
    >>> b = a[1:4]
    >>> b
    [1, 2, 3]
    >>> b = a[1:-1]
    >>> b
    [1, 2, 3, 4, 5, 6]
    >>> b = a[1:]
    >>> b
    [1, 2, 3, 4, 5, 6, 7]
    >>> b = a[:]
    >>> b
    [0, 1, 2, 3, 4, 5, 6, 7]
    >>> 

    改变新的子list的值,不会改变原来list的值


    处理list的方法:

    >>> #list.append(n),追加元素
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7]
    >>> a.append(6)
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6]


    >>> #list.count(var) , 计算var在list中出现的次数
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6]
    >>> a.count(6)
    2
    >>> 
    >>> #len(list) , 返回list的长度
    >>> len(a)
    9
    >>> #list.extend(list1) , 将list1追加到list的后面
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6]
    >>> b = [a,c,d,f,g]
    Traceback (most recent call last):
      File "<pyshell#55>", line 1, in <module>
        b = [a,c,d,f,g]
    NameError: name 'c' is not defined
    >>> b = ['a' , 'b' , 'c' , 'd']
    >>> b
    ['a', 'b', 'c', 'd']
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6]
    >>> a.extend(b)
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd']
    >>> a.append(b)
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd']]
    >>> 
    >>> #list.index(var) , 返回var在list中的位置,若无,则抛出异常
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd']]
    >>> a.index('x')
    Traceback (most recent call last):
      File "<pyshell#67>", line 1, in <module>
        a.index('x')
    ValueError: 'x' is not in list
    >>> a.index(4)
    4
    >>> a.index(6)
    6
    >>> 
    >>> #list.insert(index,var) , 在index出插入var,其余元素向后推,如果index大于list的长度,就会在后面添加。如果index小于0,就要在最开始出添加
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd']]
    >>> a.insert(0,1)
    >>> a
    [1, 0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd']]
    >>> a.insert(100,100)
    >>> a
    [1, 0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd'], 100]
    >>> 
    >>> #list.pop() , 返回最后一个元素,并且删除最后一个元素。list.pop(index) , 返回index处的元素,并且删除该元素。
    >>> a
    [1, 0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd'], 100]
    >>> a.pop()
    100
    >>> a
    [1, 0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd', ['a', 'b', 'c', 'd']]
    >>> a.pop()
    ['a', 'b', 'c', 'd']
    >>> a
    [1, 0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd']
    >>> a.pop(0)
    1
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd']
    >>> 
    >>> #list.remove(var) , 找到var并且删除它,若无,则抛出异常
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 6, 'a', 'b', 'c', 'd']
    >>> a.remove(9)
    Traceback (most recent call last):
      File "<pyshell#98>", line 1, in <module>
        a.remove(9)
    ValueError: list.remove(x): x not in list
    >>> a.remove(6)
    >>> a
    [0, 1, 2, 3, 4, 5, 7, 6, 'a', 'b', 'c', 'd']
    >>> #list.reverse() , 将list倒序
    >>> a
    [0, 1, 2, 3, 4, 5, 7, 6, 'a', 'b', 'c', 'd']
    >>> a.reverse()
    >>> a
    ['d', 'c', 'b', 'a', 6, 7, 5, 4, 3, 2, 1, 0]
    >>> #list.sort() , 将list进行排序,a中元素若类型不同,结果自己看看一下,但是一般不会这么做
    >>> a
    ['d', 'c', 'b', 'a', 6, 7, 5, 4, 3, 2, 1, 0]
    >>> a.sort()
    Traceback (most recent call last):
      File "<pyshell#107>", line 1, in <module>
        a.sort()
    TypeError: unorderable types: int() < str()
    >>> a = [1,3,2,4,5,6,3,2,1]
    >>> a
    [1, 3, 2, 4, 5, 6, 3, 2, 1]
    >>> a.sort()
    >>> a
    [1, 1, 2, 2, 3, 3, 4, 5, 6]
    >>> 


  • 相关阅读:
    开博语
    ch8 固定宽度、流式、弹性布局
    ch8 让div居中--使用外边距
    ch8 基于浮动的布局(两列浮动布局、三列浮动布局)
    ch3 盒模型、定位
    事件类型--鼠标与滚轮事件
    事件类型-UI事件、焦点事件
    事件对象
    事件处理程序
    内存和性能--事件委托、移除事件处理程序
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3202785.html
Copyright © 2011-2022 走看看