Python 是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了解就是至关重要的。本 Python 入门系列体验就是为这样的初学者精心准备的。
maketrans(intab, outtab)
创建字符映射的转换表,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
格式化字符及其ASCII码 |
格式化字符串,用str()方法处理对象 |
格式化字符串,用rper()方法处理对象 |
格式化无符号十六进制数 |
格式化无符号十六进制数(大写) |
格式化浮点数字,可指定小数点后的精度 |
用科学计数法格式化浮点数 |
作用同%e,用科学计数法格式化浮点数 |
根据值的大小决定使用%f或%e |
作用同%g,根据值的大小决定使用%f或%E |
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) | |
在正数前面显示加号( + ) | |
在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’) | |
0
|
显示的数字前面填充’0’而不是默认的空格 |
那么如何快速判断一个数据类型 X
是不是可变类型的呢?两种方法:
id(X)
函数,对 X 进行某种操作,比较操作前后的 id
,如果不一样,则 X
不可变,如果一样,则 X
可变。
hash(X)
,只要不报错,证明 X
可被哈希,即不可变,反过来不可被哈希,即可变。
i
在加 1 之后的 id
和之前不一样,因此加完之后的这个 i
(虽然名字没变),但不是加之前的那个 i
了,因此整数是不可变类型。
l
在附加 'Python'
之后的 id
和之前一样,因此列表是可变类型。
字典 是无序的 键:值(key:value
)对集合,键必须是互不相同的(在同一个字典之内)。
dict
内部存放的顺序和 key
放入的顺序是没有关系的。
dict
查找和插入的速度极快,不会随着 key
的增加而增加,但是需要占用大量的内存。
key:value
)
通过字符串或数值作为key来创建字典。
注意:如果我们取的键在字典中不存在,会直接报错KeyError
。
通过元组作为key
来创建字典,但一般不这样使用。
通过构造函数dict
来创建字典。
dict()
创建一个空的字典。
通过key
直接把数据放入字典中,但一个key
只能对应一个value
,多次对一个key
放入 value
,后面的值会把前面的值冲掉
这种情况下,键只能为字符串类型,并且创建的时候字符串不能加引号,加上就会直接报语法错误。
dict.keys()
返回一个可迭代对象,可以使用 list()
来转换为列表,列表为字典中的所有键。
dict.values()
返回一个迭代器,可以使用 list()
来转换为列表,列表为字典中的所有值。
key in dict
in
操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回true
,否则返回false
。而not in
操作符刚好相反,如果键在字典 dict
dict.popitem()
随机返回并删除字典中的一对键和值,如果字典已经为空,却调用了此方法,就报出KeyError异常。
Python 中set
与dict
类似,也是一组key
的集合,但不存储value
。由于key
不能重复,所以,在set
中,没有重复的key
。
注意,key
为不可变类型,即可哈希的值。
s = set()
,因为s = {}
创建的是空字典。
{元素1, 元素2, ..., 元素n}
。
set
中会被自动被过滤。
set(value)
工厂函数,把列表或元组转换成集合。
由于 set
存储的是无序集合,所以我们不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值,但是可以判断一个元素是否在集合中。
len()
內建函数得到集合的大小。
for
把集合中的数据一个个读取出来。
in
或not in
判断一个元素是否在集合中已经存在
set.add(elmnt)
用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。
set.update(set)
用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。
set.remove(item)
用于移除集合中的指定元素。如果元素不存在,则会发生错误。
set.pop()
用于随机移除一个元素。
由于 set 是无序和无重复元素的集合,所以两个或多个 set 可以做数学意义上的集合操作。
set.symmetric_difference_update(set)
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
Python 提供了不能改变元素的集合的实现版本,即不能增加或删除元素,类型名叫frozenset
。需要注意的是frozenset
仍然可以进行集合操作,只是不能用带有update
的方法。
frozenset([iterable])
返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
在 Python 中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持一些通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。
list(sub)
把一个可迭代对象转换为列表。
tuple(sub)
把一个可迭代对象转换为元组。
max(sub)
返回序列或者参数集合中的最大值
min(sub)
返回序列或参数集合中的最小值
key
– 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
list()
转换来输出列表。
*
号操作符,可以将元组解压为列表。