利用Python进行数据分析笔记:3.1数据结构 元组是一种固定长度、不可变的Python对象序列 。创建元组最简单的办法是用逗号分隔序列值:
tuple 函数将任意序列或迭代器转换为元组:
中括号 [] 可以获取元组的元素, Python中序列索引从0开始 :
元组一旦创建,各个位置上的对象是无法被修改的,如果元组的一个对象是可变的 , 例如列表 , 你可以在它内部进行修改:
可以使用号连接元组来生成更长的元组:
元组乘以整数,则会和列表一样,生成含有多份拷贝的元组:
将元组型的表达式赋值给变量,Python会对等号右边的值进行拆包:
拆包的一个常用场景就是遍历元组或列表组成的序列:
*rest 用于在函数调用时获取任意长度的位置参数列表:
count 用于计量某个数值在元组中出现的次数:
列表的长度可变 , 内容可以修改 。可以使用 [] 或者 list 类型函数来定义列表:
append 方法将元素添加到列表尾部:
insert 方法可以将元素插入到指定列表位置:
( 插入位置范围在0到列表长度之间 )
pop 是 insert 的反操作 , 将特定位置的元素移除并返回:
remove 方法会定位第一个符合要求的值并移除它:
in 关键字可以检查一个值是否在列表中;
not in 表示不在:
号可以连接两个列表:
extend 方法可以向该列表添加多个元素:
使用 extend 将元素添加到已经存在的列表是更好的方式,比快 。
sort 方法可以对列表进行排序:
key 可以传递一个用于生成排序值的函数,例如通过字符串的长度进行排序:
bisect.bisect 找到元素应当被插入的位置,返回位置信息
bisect.insort 将元素插入到已排序列表的相应位置保持序列排序
bisect 模块的函数并不会检查列表是否已经排序,因此对未排序列表使用bisect不会报错,但是可能导致不正确结果
切片符号可以对大多数序列类型选取子集,基本形式是 [start:stop]
起始位置start索引包含,结束位置stop索引不包含
切片还可以将序列赋值给变量:
start和stop可以省略,默认传入起始位置或结束位置,负索引可以从序列尾部进行索引:
步进值 step 可以在第二个冒号后面使用, 意思是每隔多少个数取一个值:
对列表或元组进行翻转时,一种很聪明的用法时向步进值传值-1:
dict(字典)可能是Python内建数据结构中最重要的,它更为常用的名字是 哈希表 或者 关联数组。
字典是键值对集合,其中键和值都是Python对象 。
{} 是创建字典的一种方式 , 字典中用逗号将键值对分隔:
你可以访问、插入或设置字典中的元素,:
in 检查字典是否含有一个键:
del 或 pop 方法删除值 , pop 方法会在删除的同时返回被删的值,并删除键:
update 方法将两个字典合并:
update方法改变了字典元素位置,对于字典中已经存在的键 , 如果传给update方法的数据也含有相同的键,则它的值将会被覆盖 。
字典的值可以是任何Python对象,但键必须是不可变的对象,比如标量类型(整数、浮点数、字符串)或元组(且元组内对象也必须是不可变对象) 。
通过hash 函数可以检查一个对象是否可以哈希化(即是否可以用作字典的键):
集合是一种无序且元素唯一的容器 。
set 函数或者是用字面值集与大括号,创建集合:
union 方法或 | 二元操作符获得两个集合的联合即两个集合中不同元素的并集:
intersection 方法或操作符获得交集即两个集合中同时包含的元素:
常用的集合方法列表:
和字典类似,集合的元素必须是不可变的 。如果想要包含列表型的元素 , 必须先转换为元组:
Python笔记:命令行参数解析有些时候我们需要通过命令行将参数传递给脚本 , C语言中有个getopt()方法,python中也有个类似的命令行参数解析方法getopt() 。python也提供了比getopt()更简洁的argparse方法 。另外,sys模块也可以实现简单的参数解析,本文将对这3种命令行参数解析方法简要介绍 。
sys.argv是传入的参数列表,sys.argv[0]是当前python脚本的名称,sys.argv[1]表示第一个参数,以此类推 。
命令行运行:
可以看到传入的参数通过sys.argv来获?。褪且桓霾问斜?。
python的getopt与C语言的的getopt()函数类似 。相比于sys模块,支持长参数和短参数,并对参数解析赋值 。但它需要结合sys模块进行参数解析 , 语法格式如下:
短参数为单个英文字母,如果必须赋值需要在后面加英文冒号(:),长参数一般为字符串(相比短参数 , 更能说明参数含义),如果必须赋值需要在后面加等号(=) 。
命令行运行:
注意:短参数(options)和长参数(long_options)不需要一一对应,可以任意顺序,也可以只有短参数或者只有长参数 。
argparse模块提供了很多可以设置的参数,例如参数的默认值,帮助消息,参数的数据类型等 。argparse类主要包括ArgumentParser、add_argument和parse_args三个方法 。
下面介绍这三个函数的使用方法 。
argparse默认提供了-h | --help参数:
命令行运行:
下面列出部分参数:
下面来添加参数:
命令行运行:
parse_args() 方法用于解析参数,在前面的示例代码中使用parse_args方法来提取参数值,对于无效或者错误的参数会打印错误信息和帮助信息:
命令行运行:
本文介绍了Python的三种命令行参数解析方法sys.argv、getopt和argparse,可以根据自己的需要进行选择 , getopt和argparse两种方法相比来说,建议选择argparse,代码量更少更简洁 。更详细的使用方法参考官方文档:
--THE END--
Python笔记--类型转换函数1. Int()整数
2. Float()浮点数
3. Str()字符串
4. Ord()返回对应的ASCII值或Unicode值
5. Chr()通过ASCII返回对应的值
6. Bool()布尔运算
7. bin()转换为二进制
8. hex()转换为十六进制
9. oct()转换为八进制
10. list()将元组转换为列表
【Python高级函数笔记 python 高级技巧】 11. tuple()转换为元组
12. dict()创建字典
13. bytes()转换为字节
关于Python高级函数笔记和python 高级技巧的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 支付宝里面有公众号嘛,支付宝里面有公众号嘛是真的吗
- 如何下载sqlserver6,如何下载sqlserver2008
- 两台路由器怎么连接电视上,两台路由器怎么连接电视上网络
- 苹果游戏单机冒险岛,苹果冒险岛手游国际服怎么下载
- mysql怎么设置中文字 mysql设置中文默认值
- 社群和直播属于什么部门,社群营销属于什么部门
- 虚拟机病毒能感染吗吗,虚拟机的病毒可以感染真机吗
- 益智讲解游戏,益智讲解游戏大全
- 如何手动启动oracle 如何手动启动sql server