zoukankan      html  css  js  c++  java
  • 五、推导数据 ----- 处理数据

    • 推导列表

    将一个列表转换为另一个列表时怎么做?

    普通方法:

    clean_mikey = []     #创建新列表
    for each_t in mikey:    #迭代
        clean_mikey.append(sanitize(each_t))  #追加转换列表 函数sanitize()是接收字符串并处理成统一格式然后再输出

    新方法:

    clean_mikey = [sanitize(each_t) for each_t in mikey]

    举例:

    #将一个分钟列表转换为一个秒列表
    >>>mins = [1,2,3]
    >>>secs = [m*60 for m in mins]
    >>>secs
    [60,120,180]
    
    #给定一个包含混合大小和小写字符串的列表,把它们转换成全大写的字符串
    >>>lower = ["I","don't","like","spam"]
    >>>feet = [s.upper() for s in lower]
    >>>upper
    ['I',"DON'T",'LIKE','SPAM']
    • 两种排序方式

    sort() 原地排序,用排序后的数据替换原数据

    sorted() 复制排序,排序后保留原数据

    另外:向sort()或sorted()传入reverse=True可以按降序排列数据

    • 使用分片来访问一个列表中的多个数据项
    my_list[3,6]    #从索引位置3到6(但不包括6)
    • 使用集合来删除重复项

    Python中集合最突出的特性是集合中的数据项是无序的,而且不允许重复

    list = [1,1,2,2,4,6,7,8]
    new_list = set(list)
    print(new_list)      #此时new_list集合即是无序的,且没有重复项
    • 4个运动员成绩存放在4个文本里,分别读取并筛选出每个选手跑得最快的3个时间

    james 2-34,3:21,2.34,2,45,3.01,2:01,2:01,3:10,2-22

    julie   2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21

    mikey 2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38

    sarah  2:58,2.58,2:39,2-25,2-25,2:54,2.18,2:55,2:55

    思路:1,处理字符串使变成格式统一(写成函数)   2,排序去重(使用set())   3,取出3个最好成绩(使用列表分片)

  • 相关阅读:
    istio-流量管理-基于不同版本访问规则控制
    k8s安装istio
    策略模式
    递归思想
    Java Lambda 表达式
    redis实现分布式锁
    MySQL 的优化方案总结
    linux下查看某一端口被哪个进程占用
    组合模式
    桥接模式
  • 原文地址:https://www.cnblogs.com/bing0818/p/4914530.html
Copyright © 2011-2022 走看看