Head First Python(第五章)

勿喷格式,参考第四章


import os
os.chdir('../')
# data = [6, 3, 1, 2, 4, 5]
#原地排序
#data.sort()

#复制排序
# data2 = sorted(data)
# print(data)
# print(data2)

#清洗数据
def sanitize(time_string):
    if '_' in time_string:
        splitter = '_'
    elif ':' in time_string:
        splitter = ':'
    else:
        return (time_string);
    (min, secs) = time_string.split(splitter)
    return (min + '.' + secs)

#从文件读取数据并打印
def print_time (file_name):
    try:
        with open(file_name) as name:
            data = name.readline()
        # print(data.strip().split(','))
        return data.strip().split(',')
    except IOError as ioerr:
        print('File Err:' + str(ioerr))
        return (None)

# print_time('james.txt')

#数据排序
def cleanData (arr):
    clean_data = []
    '''for each_t in arr:
        print(sanitize(each_t))
        clean_data.append(sanitize(each_t))'''
    # 列表推倒
    clean_data = [sanitize(each_t) for each_t in arr]
    return sorted(clean_data)
    # print(sorted(clean_data))

#应用列表推倒获取去重后的前三项
unique_james = []
# for each_t in cleanData(print_time('james.txt')):
#     if each_t not in unique_james:z
#         unique_james.append(each_t)
# print(unique_james[0:3])

#应用set()工厂函数获取去重后的前三项
unique_james2 = set(cleanData(print_time('james.txt')))
print(sorted(unique_james2)[0:3]) #set()为无序所以重新排序

# print(cleanData(print_time('james.txt')))




另附一个支持文件:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值