zoukankan      html  css  js  c++  java
  • python学习——列表

    吴老的《selenium webdriver 实战宝典》出版了!

    一.学习内容

    *  列表运算符

      列表操作函数

      列表函数

      sort函数精讲

    二.列表运算符

    1.  len(list)、+、*、in 、遍历

    a=[1,2,3]

    len(a)

    [1,2,3]+[4,5,6]

    ['a']*3

    3 in a

    for i in[1,2,3]:print i

    三.列表操作函数

    1.  列表统计

    [2,4,5,4,4,4,4].count(4)

    2.  列表index(value,start,end) start end为闭开区间

    a=[2,3,4,'b']

    a.index('b')

    a.index('b',2)

    a.index('b',4)

    a.index('b',1,5)

    a.index(‘b’,1,5)

    从a中查找元素b的位置,从索引1位置开始包括1,到索引位置5但不包括位置5

    3.  列表pop删除-pop(index),index不写默认为最后一个元素的索引

    4.  列表reverse()-列表反向输出并不会排序

    a.reverse()

    5.  列表sort()-列表排序

    a.sort()

    6.  小练习-将字符串排序后反向输出

    lista=[1,2,3,-1,-2,-3]

    lista.sort()

    lista.reverse()

    切记:此处不可以写成:lista.sort().reverse()

    因为lista.sort()只会对lista本身进行排序,但是没有返回值,所以在进行.reverse()就会报错NoneType的问题

    7.  sort()函数排序和sorted()函数排序区别-sorted不改变原值,而sort()改变原值

    a=[1,2,3,-1,-2,-3]

    sorted(a,reverse=True)

    发现sorted后,a的值没有改变,当我们用sort()函数:

    发现a的值发生了改变。

    所以这两个函数的区别是:

    A:sort函数没有返回值,会改变原元素的值

    B:sorted函数有返回值,不会改变原元素的值

    四.列表函数

    1.  cmp(list1,list2):比较list1和list2的大小

    list1=list2返回0

    list1<list2返回-1

    list1>list2返回1

    代码为:

    a=[1,2,3]

    b=[2,3,4]

    cmp(a,b)

    cmp(b,a)

    2.  max(list1):取列表list1中最大的值

    a=[1,2,3]

    max(a)

    3.  len(list1):返回列表的长度

    a=[1,2,3]

    len(a)

    4.  min(list1):取列表中最小的值

    b=[2,3,4]

    5.  list(tuple):将元组转换为列表

    list((2,3,’b’))

    五.sort函数精讲

    1.  sort函数使用定义

    reverse默认为false,即升序,True为逆序

    作用:对原序列进行排序,也就是直接在原序列上操作,没有返回值。

    cmp:为一个定制的比较函数,接受两个参数,并且如果第一个参数小于第二个参数,则返回一个负数,大于则返回一个整数,等则返回0,默认值为None

    key:也是一个函数,这个函数会从每个元素中提取一个用于比较的关键字,默认值为None。

    2.  sort函数小练习-将一个list按长度大小输出

    # encoding = utf-8

    def L(tup):

       return len(tup)

    list1=[(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]

    list1.sort(key=L,reverse=True)

    print list1

    3.  sort函数小练习-将一个list中最后一个数字乘以5比较大小,升序输出

    法一:

    # encoding = utf-8

    def print_len(tup):

       return (tup[-1])*5

    list1=[(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]

    list1.sort(key=print_len,reverse=True)

    print list1

    法二:

    # encoding = utf-8

    list1=[(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]

    list1.sort(key=lambdax:x[-1]*5,reverse=True)

    print list1

    4.  sort函数小练习-将一个list中每项元组求和,升序输出

    法一:

    # encoding = utf-8

    def sums(tup):

       return sum(tup)

    list1=[(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]

    list1.sort(key=sums,reverse=True)

    print list1

    法二:

    # encoding = utf-8

    list1=[(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]

    list1.sort(key=lambdax:sum(x),reverse=True)

    print list1

    法三:

    # encoding = utf-8

    list1=[(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]

    list1.sort(key=sum,reverse=True)

    print list1

    5.  sort函数小练习-将list按每个元素的第一个的绝对值比较大小

    # encoding = utf-8

    list1 =[(-1,5,3),(-5,3,6,3),(1,1,2,4,5,6),(2,9),(-2,10)]

    def compare(a,b):

       if abs(a)>abs(b):

           return 1

       elif abs(a)==abs(b):

           return 0

       else:

           return -1

    def L(tup) :

           returntup[0]

    list1.sort(cmp=compare,key = L,reverse =False)

    print list1

  • 相关阅读:
    python 多个变量赋值
    python标准数据类型
    Python 变量类型
    H3C 扩展ACL与基于时间的ACL
    H3C BGP-filter-policy
    H3C 标准ACL
    H3C BGP实验集合
    H3C IS-IS实验大集合(ipv6)
    H3C ISIS实验大集合(IPv4)
    JS 封装一个显示时间的函数
  • 原文地址:https://www.cnblogs.com/zqq521/p/6489150.html
Copyright © 2011-2022 走看看