• Python学习(六)


    一、循环调用函数filter和map

    sorted()可以对字符串进行排序,并已列表的形式展现,传入reverse=True参数,可使字符串倒序展示。

    s='478142'
    l = ['42','2','1','a','c','z','f']
    print(sorted(l,reverse=True))
    print(sorted(s))
    
    >>['z', 'f', 'c', 'a', '42', '2', '1']
    >>['1', '2', '4', '4', '7', '8']

    map函数与其他方法对比:

     生成一个列表,从1-33,1位自动补0,即01-33:

    首先先自己写一个zifill方法,方便下面调用

    def zfill(num):
        num = str(num)
        if len(num)==1:
            num = '0'+num
        return num

    方法一:

    l = []
    for i in range(1,34):
        result = zfill(i)
        l.append(result)
    print(l)
    
    >>['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33']

    方法二:

    l = [ zfill(i) for i in range(1,34) ]
    print(l)
    
    >>['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33']

    方法三,使用map:

    这里map的作用就是,循环zfill函数。map()是 Python 内置的高阶函数,在Python3.0版本中,它接收一个函数 function 和一个 list,并通过把函数 function 依次作用在 list 的每个元素上,返回一个list的遍历对象。如果想得到一个list列表,则用list(map())进行强制转换。而在Python2.0中是返回一个list列表。

    l = list(map(zfill,range(1,34)))
    print(l)
    
    >>['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '
    23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33']
  • 相关阅读:
    C#
    if
    .net 5.0
    C# 未提供必须形参对应的实参
    EasyRTC报错 “[ERR] mod_local_stream.c:880 Unknown source default”排查
    EasyRTC通过公网进入会议室失败问题排查及解决
    【CF1558B】Up the Strip
    【AT Keyence2019E】Connecting Cities
    【洛谷P7470】岛屿探险
    【洛谷P6628】丁香之路
  • 原文地址:https://www.cnblogs.com/huohuli/p/10843954.html
Copyright © 2020-2023  润新知