Python内置数据结构

解析器和生成器

标准库datetime
datetime模块
  对日期、时间、时间戳的处理
datetime类
  类方法
    today()返回当地时区当前时间的datetime对象
    now(tz = None) 返回当前时间的datetime对象,时间是微秒,如果tz=None返回和today一样
    utcnow()没有时区的当前时间
    fromtimestamp(timestamp,tz=None)从一个时间戳返回一个datetime对象
 datetime对象
    timestamp()返回一个到微秒的时间戳
       时间戳:格林威治时间1970年1月1日0点到现在的秒数
    构造方法 datetime.datetime(2016,12,6,16,29,43,790453)
   weekday()返回星期的天,周一0 周日6
   isoweekday()返回星期的天,周一1 周日7
   date()返回日期的date对象
   time()返回时间的time对象
   replace()修改并返回新的时间
   isocalendar()返回(年,周数,周的天)三元组
   日期格式化
   类方法 strptime(date_string,format),返回datetime对象
   对象方法 strftime(format),返回字符串
   字符串format函数格式化
   import datetime
   dt = datetime.datetime.strptime(“21/11/06 16:30”, “%d/%m/%y %H:%M”)
   print(dt.strftime(“%Y-%m-%d %H:%M:%S”))
   print(“{0:%Y}/{0:%m}/{0:%d} {0:%H}::{0:%M}::{0:%S}”.format(dt))
    timedelta对象
    datetime.timedelta()
    year = datetime.timedelta(days=365)返回的是timedelta对象
    total_seconds()返回时间差的总秒数
标准库time
 time.sleep(secs)将调用线程挂起指定的秒数
列表解析List Comprehension
语法
    [返回值 for 元素 in 可迭代对象 if 条件]
    使用中括号[],内部是for循环,if条件语句可选
    返回一个新的列表
进阶
[expr for item in iterable if cond1 if cond2]
两个if条件语句相当于 if cond1 and cond2
[expr for i in iterable for j in iterable2]
两层for循环生成一个列表
[(x,y) for x in ‘abcdef’ for y in range(3)]
生成器表达式 Generator expression
语法
    (返回值 for 元素 in 可迭代对象 if 条件)
    列表解析式的中括号换成小括号就可以了
    返回一个生成器
和列表解析式的区别
    生成器表达式是按需计算的(或称惰性求值,延迟计算),需要的时候才计算值
    列表解析式是立即返回值
生成器
    可迭代对象
    迭代器
next()
生成器表达式和列表解析式的区别
1、计算方式
    生成器表达式延迟计算,列表解析式立即计算
2、内存占用
    生成器表达式节省内存,列表解析式立即占用较大内存
3、计算速度
生成器表达式,由于列表解析式,生成器表达式返回一个生成器对象,列表解析式构造并返回一个新的列表

集合解析式
语法:
    {返回值 for 元素 in 可迭代对象 if 条件}
    列表解析式的中括号换成大括号{}
    立即返回一个集合,注意,集合内的元素必须是可以hash的
字典解析式
{返回值 for 元素 in 可迭代对象 if 条件}
列表解析式的中括号换成大括号{}
使用key:value形式
立即返回一个字典,字典的key必须是可hash的
生成器和迭代器是不同的对象,但都是可迭代对象

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95427

(0)
SignalSignal
上一篇 2018-04-08
下一篇 2018-04-08

相关推荐

  • Python第十二周学习总结

    Git的使用

    2018-05-27
  • Python文件操作

    计算机体系架构 运算器:完成各种算术运算、逻辑运算、出具传输等数据加工处理 控制器:控制程序的执行 CPU = 运算器 + 控制器 存储器:用于记忆程序的数据,内存 输入设备:将数据或程序输入到计算机中 输出设备:将数据或程序的处理结果展示给用户 文件IO常用操作 open 打开 read 读取 write 写入 close 关闭 readline 行读取 …

    Python笔记 2018-05-02
  • IPython封装解构和集合

    IPython Shell命令 !command 执行shell命令 !ls -l , !touch a.txt file = !ls -l | grep py 魔术方法 使用%开头的,IPython内置的特殊方法 %magic 格式 %开头是line magic %% 开头是cell magic,notebook的cell %alias 定义一个系统命令的…

    Python笔记 2018-03-31
  • python内置数据结构

    python内置数据结构 sort(key=none,resverse=false)—>none 对列表元素进行排序,就地修改。默认升序 resvers为true,反转,降序 key为一个函数,指定key如何排序 ls.sort(key=functionaame) Print(lst.sort(key=str,reverse=Ture) I…

    Python笔记 2018-03-31
  • 高阶函数和装饰器

    高阶函数和装饰器 高阶函数 : 满足以下条件之一的称为高阶函数 接受一个或多个函数作为参数 输出一个函数 高阶函数举例: def counter(base): def inc(step=1): nonlocal base base += step return base return inc 1)自定义sort函数 def sort(itertable): …

    Python笔记 2018-04-23
  • Python内置数据结构——字符串

    知识结构图 学习笔记 字符串 字符组成的有序序列,字符的集合 使用单引号、双引号、三引号引起来的字符序列 不可变对象 Unicode类型 定义 单引号、双引号、三引号 r、R:引号内的字符原样输出 元素访问 索引访问 可迭代 join连接 “string“.join(iteratable) 使用string作为分隔符将可迭代对象连接起…

    2018-03-31