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

    一、列表

    列表也通常被称为list 数组 array

    1、列表定义

    使用方括号([])即可

    alist = [123,'abc','def',666,True]

    空列表的定义:alist = [] 或 alist = list()

    列表它的位置,或索引,第一个索引是0,第二个索引是1,依此类推

    2、列表函数

    1)len()方法:返回列表中元素个数

    实例:

    >>> alist = ['a','b','c','d']

    >>> len(alist)

    4

    2)max()方法:返回列表元素的最大值

    实例:

    >>> alist = ['a','b','c','d']

    >>> max(alist)

    'd'

    3)min()方法:返回列表元素中的最小值。

    实例:

    >>> alist = ['a','b','c','d']

    >>> min(alist)

    'a'

    4)list()方法:用于将元组转换为列表。

    实例:

    >>> aTuple = (1,'sa',56,'ccc')

    >>> list(aTuple)

    [1, 'sa', 56, 'ccc']

    3、列表切片

    Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。

    格式:【start:end:step】

         start:起始位置

         end:结束位置

         step:间距

    举例:

    l = ['a','b','c','d','e','f','g','h','i','j']
    print(l[0:4])             #切片取值,不包含最后一个下标元素(顾头不顾尾)
    print(l[:5])              #最前面开始取,可以省略,代表从0开始取
    print(l[4:])              #如果冒号后面不写,代表取到最后
    print(l[:8:2])            #步长,也就是代表隔几个取一次

     l[::-1]可以反转列表,就是个固定用法,理解不了就背下来

    l=['python', 'Love', 'Im']
    print(l[::-1])  #反向输出

    4、列表的增删改查与排序

    1)增(append,insert,extend)

    A、append() 方法:用于在列表末尾追加新的对象,只能添加一个元素。

    实例:

    >>> alist = [123,'abc','def',666]

    >>> alist.append('ccc')

    >>> print('更新后的列表:',alist)

    更新后的列表: [123, 'abc', 'def', 666, 'ccc']

    B、insert() 方法:将指定对象插入到列表中的指定位置,只能插入一个元素。

    实例:

    >>> alist.insert(0,'start')

    >>> print(alist)

    ['start', 123, 'abc', 'def', 666, 'ccc']

    C、extend() 方法:通过在列表末尾追加可迭代对象中的元素来扩展列表。

    实例:

    list1 = [1,2,3,4,5]
    list2 = ['a','b','c']
    list1.extend(list2)
    print('扩展后的list1:',list1)

    输出:

    扩展后的list1 [1, 2, 3, 4, 5, 'a', 'b', 'c']

    2)删

    A、列表中pop()方法:通过指定元素的索引值来移除列表中的某个元素(默认是最后一个元素),并且返回该元素的值,如果列表为空或者索引值超出范围会报一个异常。

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    ...

    >>> alist.pop()                            #不填索引值,默认删除后最后一个元素

    'ccc'                                                        #返回值

    >>> print('默认删除后最后一个元素:',alist)

    默认删除后最后一个元素: ['start', 123, 'abc', 'def', 666]

    >>> alist.pop(2)

    'abc'

    >>> print('删除后指定元素后的列表:',alist)

    删除后指定元素后的列表: ['start', 123, 'def', 666]

    B 、列表 remove() 方法:通过指定元素的值来移除列表中某个元素的第一个匹配项,如果这个元素不在列表中会报一个异常。

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    >>> alist.remove('abc')

    >>> print(alist)

    ['start', 123, 'def', 666, 'ccc']                        #删除了元素‘abc’

    注意:remove()只删除一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有的值。

    C、del语句  :删除指定位置的元素

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    >>> del alist[0]                                      #删除第一个元素

    >>> print(alist)

    [123, 'abc', 'def', 666, 'ccc']

    D、clear: 清空列表中的内容

    >>> print(alist)

    ['start', '大山', 'abc', 'def', 666, 'ccc']

    >>> alist.clear()

    >>> alist

    []

    3)改

    修改元素的时候,通过下标来确定要修改的是哪个元素,然后进行修改

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    >>> alist[1] = '大山'

    >>> print(alist)

    ['start', '大山', 'abc', 'def', 666, 'ccc']

    4)查(in,not in,count,index)

    A、查找列表中的某个元素

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    >>> print(alist[0])                              #获取第一个元素

    start

    >>> print(alist[-1])                             #获取最后一个元素

    ccc

    B、in 操作符:判断值是否在列表中,并返回true或false

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    >>> 'start' in alist

    True

    C、not in 操作符:判断是否不在列表,并返回True或False

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc']

    >>> 122343 not in alist

    True

    D、count方法:统计指定值在列表中出现的次数,返回指定值在列表这个能出现的次数

    实例:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc',123]

    >>> alist.count(123)

    2

    E、index方法:用于从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。 

    语法:L.index(obj[,start=0[,stop=len(L)]])

    参数:

    obj -- 查找的对象。

    start -- 可选参数,开始索引,默认为0。(可单独指定)

    stop -- 可选参数,结束索引,默认为列表的长度。(不能单独指定)

    实例1:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc',123]

    >>> alist.index('abc')

    2

    实例2:

    >>> alist = ['start', 123, 'abc', 'def', 666, 'ccc',123]

    >>> alist.index(123,5)                   #从索引5开始查找对象123,找到的索引值为6

    6

    实例3:

    >>> alist2 = [4,6,72,1,2,4,7,3]

    >>> alist2.index(4,5,len(alist2))            #最后一个参数就是列表长度,不能改

    5

    >>> alist2.index(4,5,)

    5

    >>> alist2.index(4,5,7)

    5

    5)列表排序(sort,reverse)

    A、sort() 方法:对列表进行排序,排序的元素类型需要一致

    sort() 方法语法:

    list.sort(cmp=None,key=None,reverse=False)

    参数:

    • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

     

    以下实例,默认sort排序为升序:

    实例1:

    >>> alist = ['beijing','tianjin','xiamen','shanghai','hunan']

    >>> alist.sort()

    >>> print(alist)

    ['beijing', 'hunan', 'shanghai', 'tianjin', 'xiamen']

    实例2:

    >>> alist2 = [4,6,72,1,2,4,7,3]

    >>> alist2.sort()

    >>> print(alist2)

    [1, 2, 3, 4, 4, 6, 7, 72]

    以下实例,降序输出列表:

    >>> alist2 = [4,6,72,1,2,4,7,3]

    >>> alist2.sort(reverse=True)

    >>> print(alist2)

    [72, 7, 6, 4, 4, 3, 2, 1]

    关于cmp、key参数以后再补充。

     
    sorted(iterable[, cmp[, key[, reverse]]])
    
    iterable.sort(cmp[, key[, reverse]])

     参数解释:

     (1)iterable指定要排序的list或者iterable,不用多说;

     (2)cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,如:

           students为类对象的list,没个成员有三个域,用sorted进行比较时可以自己定cmp函数,例如这里要通过比较第三个数据成员来排序,代码可以这样写:

    1
    2
    students = [('john''A'15), ('jane''B'12), ('dave''B'10)]
    sorted(students, key=lambda student : student[2])

    (3)key为函数,指定取待排序元素的哪一项进行排序,函数用上面的例子来说明,代码如下:

    1
    sorted(students, key=lambda student : student[2])

           key指定的lambda函数功能是去元素student的第三个域(即:student[2]),因此sorted排序时,会以students所有元素的第三个域来进行排序。

    B、reverse()方法:对列表中的元素进行反向排序。

    实例:

    >>> alist2 = [4,6,72,1,2,4,7,3]

    >>> alist2.reverse()

    >>> print(alist2)

    [3, 7, 4, 2, 1, 72, 6, 4]

    5、列表的嵌套

    套几层就是几维
    nums1 = [1,2,3] #一维数组
    nums2 = [1,2,3,[4,56]]#二维数组
    nums = [1,2,3,4,['a','b','c','d','e',['一','二','三']],['四','五']]   #三维数组

    print(nums[4][5][1])  #取二
    print(nums[5][1])   #取五
    print(nums[-1][-1])   #取五

    6、列表的循环遍历

    1)for循环遍历

    A、输出每个元素:

    实例:

    alist = ['abc',23,'中国','ccc','ddd',89]
    for i in alist:
        print(i)

    输出:

    abc

    23

    中国

    ccc

    ddd

    89

    B、enumerate() 函数

    enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    语法:

    enumerate(sequence,[start=0])

    参数:

    • sequence -- 一个序列、迭代器或其他支持迭代对象。
    • start -- 下标起始位置。

    实例1

    passwords = ['a','b','c','d']
    a = list(enumerate(passwords,start=1))      #小标从1开始
    print(a)

    输出:

    [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

    实例2

    在for循环中的应用实例:

    想输出索引以及对应的元素。

    普通for循环:

    passwords = ['a','b','c','d']
    i = 0
    for j in passwords:
        print (i,j)
        i += 1

    输出:

    0 a

    1 b

    2 c

    3 d

    For循环使用enumerate()

    passwords = ['a','b','c','d']
    for i,j in enumerate(passwords):
        print(i,j)

    输出:

    0 a

    1 b

    2 c

    3 d

    2)while循环遍历

    passwords = ['a','b','c','d']
    count = 0
    while count < len(passwords):
        print(passwords[count])
        count += 1

    输出:

    a

    b

    c

    d

    7、range()

    Range()函数可创建一个整数列表,一般用在 for 循环中。

    语法:

    range(start,stop[,step])

    参数说明:

    • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

    实例1:创建一个列表,里面的元素为1-10整数

    l = list(range(1,11))
    print(l)

    输出:

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    实例2:同上效果

    alist = [i for i in range(1,11)]
    print(alist)

    输出:

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    实例3:创建一个列表,里面元素是1-10中的偶数

    alist = [i for i in range(1,10)]
    print(alist[1::2])

     

    实例3:创建一个列表,里面元素是1-10中的奇数

    alist = [i for i in range(1,10)]
    print(alist[::2])

     

  • 相关阅读:
    分享——张南《从Desktop到Mobile的自动化测试实践》
    GTAC 2015将于11月10号和11号召开
    2015 Selenium大会
    最近订阅的视频
    Episode 388: Testing vs Monitoring
    中国移动测试大会 PPT 和视频
    首届中国移动互联网测试大会在北京圆满闭幕
    推荐——吴晓波频道
    移动测试会Ebay沙龙PPT
    「中国移动互联网测试大会」报名开始啦!
  • 原文地址:https://www.cnblogs.com/once-again/p/9562580.html
Copyright © 2011-2022 走看看