zoukankan      html  css  js  c++  java
  • filter, sort

    def is_odd(n):
        return n % 2 == 1
    t = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]))
    print(t)
    #注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。
    def not_empty(s):
        return s and s.strip()
    g = ['A', '', 'B', None, 'C', ' ']
    print(g)
    t = list(filter(not_empty, g))
    print(t)
    
    s = '       rain       '
    print(s.strip())
    
    t = 'www.example.com'.strip('comowle.z')
    print(t)
    
    def _odd_iterator():
        n = 1
        while(True):
            n = n + 2
            yield n
    def _not_divisible(n):
        return lambda x : x % n > 0
    def primes():
        it = _odd_iterator()
        yield 2
        while(True):
            n = next(it)
            yield n
            it = filter(_not_divisible(n), it)
    
    for n in primes():
        if n < 1000:
            print(n)
        else:
            break

    上面是filter

    下面是sort

    t = sorted([1, 5, 6, -19, 54])
    print(t)
    
    t = sorted([1, 5, 6, 7, -19, 54], key = abs)
    print(t)
    
    #忽略大小写对首字母的顺序进行排序,实际上是根据ascii码进行排序
    t = sorted(['rain', 'SUN', 'rainbow', 'Thinker'], key = str.lower)
    print(t)
    #要实现反向排序,不必更改key函数,可传入第三个参数,reverse = True
    
    t = sorted(['rain', 'SUN', 'rainbow', 'Thinker'], key = str.lower, reverse = True)
    print(t)
    
    L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
    
    #按名字排序
    def by_name(t):
        #其中t[0]是t的名字,比如Bob,t[1]是t的分数,比如75
        return t[0]
    L2 = sorted(L, key=by_name)
    
    print('按照成绩排序', L2)
    #按照成绩排序
    def by_score(t):
        return t[1]
    L2= sorted(L, key = by_score, reverse = True)
    print('按照分数排序', L2)
  • 相关阅读:
    02-计算字符个数-2
    01-计算字符个数-1
    30-Ubuntu-用户权限-01-用户和权限的基本概念
    2-数据分析-matplotlib-1-概述
    1-数据分析简述
    05_二进制、八进制、十进制与十六进制转换
    29-Ubuntu-远程管理命令-03-SSH工作方式简介
    28-Ubuntu-远程管理命令-02-查看网卡的配置信息
    27-Ubuntu-远程管理命令-01-关机和重启
    2-JDK环境变量配置和验证
  • 原文地址:https://www.cnblogs.com/rain-1/p/5555237.html
Copyright © 2011-2022 走看看