• python练习——列表练习1


    python练习——列表练习

    问题描述:

    编写一个函数,读取文件 words.txt ,建立一个列表,其中每个单词为一个元素。 编写两个版本,一个使用 append 方法,另一个使用 t = t + [x] 。 那个版本运行得慢?为什么?

    前提知识:

    1. 时间和日期,菜鸟教程

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    import time;  # 引入time模块
     
    ticks = time.time()
    print "当前时间戳为:", ticks
    当前时间戳为: 1459994552.51
    

    时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。

    python中时间日期格式化符号:

    • %y 两位数的年份表示(00-99)
    • %Y 四位数的年份表示(000-9999)
    • %m 月份(01-12)
    • %d 月内中的一天(0-31)
    • %H 24小时制小时数(0-23)
    • %I 12小时制小时数(01-12)
    • %M 分钟数(00=59)
    • %S 秒(00-59)
    • %a 本地简化星期名称
    • %A 本地完整星期名称
    • %b 本地简化的月份名称
    • %B 本地完整的月份名称
    • %c 本地相应的日期表示和时间表示
    • %j 年内的一天(001-366)
    • %p 本地A.M.或P.M.的等价符
    • %U 一年中的星期数(00-53)星期天为星期的开始
    • %w 星期(0-6),星期天为星期的开始
    • %W 一年中的星期数(00-53)星期一为星期的开始
    • %x 本地相应的日期表示
    • %X 本地相应的时间表示
    • %Z 当前时区的名称
    • %% %号本身

    太多了,可以点击连接查看。

    在这里只用到了

    获取当前时间,是一个很长的数字,应该是从1970到现在的毫秒数。

    2. Python open()函数

    在这里用到了open函数,给出以下定义:

    open(name[, mode[, buffering]])
    
    • name : 一个包含了你要访问的文件名称的字符串值。
    • mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
    • buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

    代码:

    # 编写一个函数,读取文件 words.txt ,建立一个列表,其中每个单词为一个元素。
    # 编写两个版本,一个使用 append 方法,另一个使用 t = t + [x] 。
    # 那个版本运行得慢?为什么?
    import time
    
    
    def make_word_list1():
        """
        读取文件中的单词
        :return:
        """
        t = []
        # 读取文件
        fin = open('words.txt')
        for line in fin:
            word = line.strip()
            t.append(word)
        return t
    
    
    def make_word_list2():
        """
        使用t=t+word
        :return:
        """
        t = []
        fin = open('words.txt')
        for line in fin:
            word = line.strip()
            t = t + [word]
        return t
    
    
    if __name__ == '__main__':
        start_time = time.time()
        t = make_word_list1()
        spend_time = time.time() - start_time
    
        print(len(t))
        print(t[:10])
        print(spend_time, 'seconds')
    
        start_time = time.time()
        t = make_word_list2()
        elapsed_time = time.time() - start_time
    
        print(len(t))
        print(t[:10])
        print(elapsed_time, 'seconds')
    
    博客网站 https://yamon.top 个人网站 https://yamon.top/resume GitHub网站 https://github.com/yamonc 欢迎前来访问
  • 相关阅读:
    SQL server 日期格式转换style 对应码
    postman的使用方法详解!最全面的教程
    港澳台身份证小结
    使用设置自定义对话框的大小,位置,样式以及设置在安卓桌面上弹出对话框
    android自定义Activity窗口大小(theme运用)
    C#调用RabbitMQ实现消息队列
    C# http请求带请求头部分
    Android如何屏蔽home键和recent键
    针对jquery的优化方法,你知道几条
    试图从目录中执行 CGI、ISAPI 或其他可执行程序
  • 原文地址:https://www.cnblogs.com/chenyameng/p/12656824.html
Copyright © 2020-2023  润新知