持续记录一些python技巧及惯用手法,more pythonic~

Using *to grab excess items

引自《Fluent Python》的P29。在定义函数参数时,*arg常用于代表不确定个数的参数,同样的手法也可以用于赋值:

a

*赋值也可以用于其他位置:

a

String format() Method

字符串的格式化输出有很多种方式,现状最值得推荐的是用string.format(value1,value2...)的方法。举例:

txt 

{}代表占位符,format()方法中的输入参数与占位符对应。常见的用法有:

txt1 

  • 占位符中用变量名
  • 占位符中用数字表示先后顺序
  • 空占位符(自动根据先后顺序对应)

推荐用第一种方式。

占位符中可通过一些方式控制显示格式:

txt 

用array.array替代list

当list只包含数字时,array.array比list更高效,同时array也支持所有可变序列的操作(引自《Fluent Python》影印版P48页)。

Python的array如同C语言的array。创建array时,需要用一个字母代表的类型码声明数组中的类型(如:d代表双精度浮点数,h代表有符号整数,b代表singed char,B代表无符号整数等)。并且Python不允许修改预先定义的类型。

array的两个函数array.tofile和array.fromfile能方便的将数据保存为二进制或读取二进制数据,速度极快。That is nearly 60 times faster than reading the numbers from a txt file(fromfile). Saving with array.tofile is about 7times faster than writing one float per line in a text file.

举例如下:

from 

另一个快速、更灵活的保存数字数据的方法是pickle模块。

字典推导式

很多人都会用列表推导式,如:

tmp 

其实,字典也有推导式(《Fluent Pytho》影印版P66),A dictcomp builds a dict instance by producing key:value pair from any iterable.

DIAL_CODES 

enumerate()函数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

函数语法:enumerate(sequence, [start=0])

  • sequence —— 一个序列、迭代器或其他支持迭代对象
  • start —— 下标起始位置

举例:

sequence 

python定义空array_Python惯用技巧相关推荐

  1. python 定义空集合 和定义空字典的

    python 中定义空集合 使用set 方法 list_a = set() # 定义一个空的集合 python中定义空字典使用 {} 或则使用dict() list_b = {} # 定义一个空的字典 ...

  2. python定义空函数体_Python 2.2 定义函数

    定义函数 Python中,定义函数是用def语句,一次写出函数名.括号.括号中的参数.和冒号:,然后在缩进模块中编写函数体,函数的返回值使用return语句返回. 我们以自定义一个求绝对值的my_ab ...

  3. python定义空字典_python字典空值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为defaul ...

  4. python定义空列表lt_Pythonlt;1gt;List

    list里的元素以逗号隔开,以[]包围,当中元素的类型随意 官方一点的说:list列表是一个随意类型的对象的位置相关的有序集合. 它没有固定的大小(1).通过对偏移量 (2)进行赋值以及其它各种列表的 ...

  5. python定义数组array_python怎么创建数组

    一 直接定义法: 1.直接定义matrix=[0,1,2,3] 2.间接定义matrix=[0 for i in range(4)] print(matrix) 二 Numpy方法: Numpy内置了 ...

  6. python定义空集合_Python 学习笔记 - 集合

    Python 集合 集合(set)是无序的.不重复的元素序列. 创建集合 使用花括号 { } 或者 set() 函数创建集合.但是,创建空的集合必须使用 set(),因为花括号是用于创建字典(Dict ...

  7. python 定义空集合_Python学习04.16:Python set集合详解

    Python 中的集合,和数学中的集合概念一样,用来保存不重复的元素,即集合中的元素都是唯一的,互不相同. 从形式上看,和字典类似,Python 集合会将所有元素放在一对大括号 {} 中,相邻元素之间 ...

  8. python定义空数组_在numpy数组中设置空值

    如何根据条件使numpy数组中的某些值为空? 我不明白为什么我最终得到的是0,而不是不满足条件的null或空值...b是用0和1值填充的numpy数组,c是另一个完全填充的numpy数组.所有阵列均为 ...

  9. Python 定义空变量

    i = Nonei = nulli = 0 (数值类型)i = '' (两个单引号) 或 i = "" (这是字符串类型)i = [] (列表类型)i = {}(字典类型)i = ...

最新文章

  1. vs2008创建mysql数据库_求教VS2008 C++连接MySQL数据库
  2. 【H2 Database】Server模式启动
  3. java api 测试工具_Java 实现在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具
  4. 『设计模式』大话西游的移魂大法竟移出来了桥接模式
  5. 数学建模算法:支持向量机_从零开始的算法:支持向量机
  6. 数据库设计:数据库设计的基本步骤介绍
  7. SpringMVC4零配置--web.xml
  8. 判断 list 集合是否含有重复对象
  9. Controller、Service、Dao进行Junit单元
  10. SpringMVC的json数据交互
  11. Anaconda如何更新pip
  12. Android在recycleview中进行全选和取消全选
  13. vue基础:ElementUI的表单
  14. 数字ic设计_总结复习
  15. 全国计算机小学知识竞赛,关于计算机知识竞赛试题
  16. IntelliJ Idea 常用快捷键列表
  17. 车辆模型预测控制的概念介绍
  18. Power Pivot
  19. C++描述 LeetCode 26. 删除排序数组中的重复项
  20. 函数模板与类模板知识点总结

热门文章

  1. python标志变量_Python 中的 global 标识对变量作用域的影响
  2. 设计师如何了解行业方向?推荐设计师交流平台
  3. 创意美食海报psd分层模板,开启奇思妙想
  4. 万能电商Banner素材模板,一切产品为王
  5. 室内高品质海报框架模型模板(Photoshop PSD)
  6. 弹窗实用素材模板|UI设计中的弹窗设计技巧,快get
  7. UI设计优秀可临摹素材|网页设计头部技巧
  8. 服务器操作系统版本检查,服务器操作系统版本检查
  9. 分页设计 与 高级查询 的 结合设计
  10. virtio数据结构总览 | 图