简单数据类型
<class 'int'>
<class 'float'>
<class 'bool'>
容器数据类型
<class 'list'>
<class 'tuple'>
<class 'dict'>
<class 'set'>
<class 'str'>
列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, ..., 元素n]
。
「等号 ==」,只有成员、成员位置都相同时才返回True。
列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
list.append(obj)
在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在 list 中保持着原结构类型。==
+
*
in
、not in
「元组」定义语法为:(元素1, 元素2, ..., 元素n)
小括号把所有元素绑在一起 逗号将每个元素一一分开
那么如何快速判断一个数据类型 X
是不是可变类型的呢?两种方法:
字典 定义语法为 {元素1, 元素2, ..., 元素n}
start:end
这种形式,包括「start
索引」对应的元素,不包括「end
索引」对应的元素。id(X)
函数,对 X 进行某种操作,比较操作前后的 id
,如果不一样,则 X
不可变,如果一样,则 X
可变。hash(X)
,只要不报错,证明 X
可被哈希,即不可变,反过来不可被哈希,即可变。字典 是无序的 键:值(key:value
)对集合,键必须是互不相同的(在同一个字典之内)。
dict
内部存放的顺序和 key
放入的顺序是没有关系的。dict
查找和插入的速度极快,不会随着 key
的增加而增加,但是需要占用大量的内存。key:value
)Python 中set
与dict
类似,也是一组key
的集合,但不存储value
。由于key
不能重复,所以,在set
中,没有重复的key
。
注意,key
为不可变类型,即可哈希的值。
s = set()
,因为s = {}
创建的是空字典。在 Python 中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持一些通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。