1. 内置序列类型

容器序列: list tuple collections.deque 可以存放不同类型的数据。 存放的是它们所包含的任意类型的对象的引用。

扁平序列: str bytes bytearray memoryview  array.array 只能容纳一种类型,存放的是值而不是引用,是一段连续的内存空间,更加紧凑。

PS.此处我还没找到方法,就是怎么验证扁平序列是一段连续的内存空间。

列表推导式,尽量简单,代码不超过两行,python会忽略[],{},()内的续行符,因此可省略续行符\。

元组拆封,使得元组可以完美地被当作记录来使用。

具名元组namedtuple构建带字段名的元组和一个有名字的类,但是python并不会用__dict__来存放,这使得其内存消耗和元组是一样的。

列表没办法想numpy的数组那样,直接乘一个数,放大多少倍,可以用列表推导式。

test_str = [1,2,3,4,5,6,7]
test_str1 = test_str*2
print(test_str1) test_str = [i*2 for i in test_str]
print(test_str)
# healthy
board = [['_']*3 for i in range(3)] # unhealthy
w_board = [['_']*3]*3

  

比较有趣的地方,两个id一样:

l = [1,2,3]
print(id(l)) l*=2
print(id(l))

  

array.tofile和array.fromfile比文本文件读取速度快60倍,占用的字节数也比文本文件少一个数量级。

from array import array
from random import random
floats = array('d',(random() for i in range(10**7)))
fp = open('floats.bin','wb')
floats.tofile(fp)
fp.close()
floats2 =array('d')
fp = open('floats.bin','rb')
floats2.fromfile(fp,10**7)
fp.close()
print(floats==floats2)

  

memoryview没太看懂……

sort,sorted,以及max, min函数有key参数,这个很有意思。

ll = [32,28,'11','9',19,20,5]
# sort as str
lt = sorted(ll,key=str)
print(lt)
# sort as int
lt2 = sorted(ll,key=int)
print(lt2)

  

fluent python-chap2的更多相关文章

  1. 学习笔记之Fluent Python

    Fluent Python by Luciano Ramalho https://learning.oreilly.com/library/view/fluent-python/97814919462 ...

  2. 「Fluent Python」今年最佳技术书籍

    Fluent Python 读书手记 Python数据模型:特殊方法用来给整个语言模型特殊使用,一致性体现.如:__len__, __getitem__ AOP: zope.inteface 列表推导 ...

  3. Fluent Python: memoryview

    关于Python的memoryview内置类,搜索国内网站相关博客后发现对其解释都很简单, 我觉得学习一个新的知识点一般都要弄清楚两点: 1, 什么时候使用?(也就是能解决什么问题) 2,如何使用? ...

  4. Python深入学习之《Fluent Python》 Part 1

    Python深入学习之<Fluent Python> Part 1 从上个周末开始看这本<流畅的蟒蛇>,技术是慢慢积累的,Python也是慢慢才能写得优雅(pythonic)的 ...

  5. Fluent Python: Classmethod vs Staticmethod

    Fluent Python一书9.4节比较了 Classmethod 和 Staticmethod 两个装饰器的区别: 给出的结论是一个非常有用(Classmethod), 一个不太有用(Static ...

  6. Fluent Python: @property

    Fluent Python 9.6节讲到hashable Class, 为了使Vector2d类可散列,有以下条件: (1)实现__hash__方法 (2)实现__eq__方法 (3)让Vector2 ...

  7. Fluent Python: Mutable Types as Parameter Defaults: Bad Idea

    在Fluent Python一书第八章有一个示例,未看书以先很难理解这个示例运行的结果,我们先看结果,然后再分析问题原因: 定义了如下Bus类: class Bus: def __init__(sel ...

  8. 《Fluent Python》---一个关于memoryview例子的理解过程

    近日,在阅读<Fluent Python>的第2.9.2节时,有一个关于内存视图的例子,当时看的一知半解,后来查了一些资料,现在总结一下,以备后续查询: 示例复述 添加了一些额外的代码,便 ...

  9. Fluent Python: Slice

    Pyhton中序列类型支持切片功能,比如list: >>> numbers = [1, 2, 3, 4, 5] >>> numbers[1:3] [2, 3] tu ...

  10. fluent Python

    1.1 Python风格的纸牌 Python collections模块中的内置模块:namedtuple https://www.liaoxuefeng.com/wiki/0013747381250 ...

随机推荐

  1. 在IDEA中找不到Mapper报错

    前言 相信大多数互联网公司的持久层框架都是使用 Mybatis 框架,而大家在 Service 层引入自己编写的 Mapper 接口时应该会遇到下面的情况: 我们可以看到,上面的红色警告在提示我们,找 ...

  2. hbuilderx集成集中式版本控制系统SVN

    前提条件: 1.下载最新的hbuilderx https://www.dcloud.io/hbuilderx.html 2.安装Tortorisesvn客户端,特别注意安装时一定要安装command ...

  3. 将mysql的查询结果保存到文件中,并将文件从内网下载到外网服务器

    方法一: 直接执行命令: mysql> SELECT ordersid from yws.callback_clockd  ORDER BY ordersid ASC limit 0,10000 ...

  4. AT_arc111_a 题解

    洛谷连接&Atcoder 链接 题目简述 给定两个数 \(n\) 和 \(m\),输出 \(\left\lfloor\frac{10^n}{m}\right\rfloor \bmod m\) ...

  5. ASP.NET Core 程序集注入(一)

    1.创建[特性]用于标注依赖注入 using Microsoft.Extensions.DependencyInjection; using System; using System.Collecti ...

  6. CF1934B Yet Another Coin Problem 题解

    CF1934B Yet Another Coin Problem 题解 题意 目前有 \(5\) 种硬币,面值分别为 \(1,3,6,10,15\).给你一个数字 \(n\),求出可以凑出 \(n\) ...

  7. 15、SpringMVC之常用组件及执行流程

    15.1.常用组件 15.1.1. DispatcherServlet DispatcherServlet 是前端控制器,由框架提供,不需要工程师开发: 作用:统一处理请求和响应,整个流程控制的中心, ...

  8. 11、SpringMVC之文件下载和上传

    创建名为spring_mvc_file的新module,过程参考9.1节和9.5节 11.1.文件下载 11.1.1.创建图片目录并放置图片 11.1.2.页面请求示例 <a th:href=& ...

  9. 【转载】 你真的理解Python中MRO算法吗?

    来自:www.xymlife.com 作者: XYM 链接:http://www.xymlife.com/2016/05/22/python_mro/ (点击阅读原文前往) ------------- ...

  10. 华为最高学术成果发表 —— 《Nature》正刊发表论文《Accurate medium-range global weather forecasting with 3D neural networks》

    论文<Accurate medium-range global weather forecasting with 3D neural networks>的<Nature>地址: ...