目录
1. 列表(list)
1.1 列表的常用方法
1.1.1 元素增加
1.1.3 元素删除
1.1.3 元素的访问和计数
1.2 切片
1.3 排序(使用sort方法)
2. 元组
3. zip函数和可迭代对象
4. 字典
4.2 字典的方法编辑
4.3 字典与zip函数
5. 集合 set
5.1 集合的操作方法
5.2 集合运算
编辑
列表(list), 元组(tuple),集合(set)和字典(dict),及字符串(str)等
序列类型相对于其他语言中的近似类型,Python的序列类型功能要强大的多
列表是Python中内置有序(元素之间在位置上有序,元素间排序要看实际情况)、可变序列,列表的所有元素放在一对中括号“[ ]”中,并使用逗号分隔开;
当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙;
在Python中,一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象(对比一下数组和对象数组)。
切片适用于列表、元组、字符串、range对象等类型,但作用于列表时功能最强大。可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素。
切片使用2个冒号分隔的3个数字来完成,[a:b:c]
第一个数字 a 表示切片开始位置(默认为0)。
第二个数字 b 表示切片截止(但不包含)位置(默认为列表长度)。
第三个数字 c 表示切片的步长(默认为1),当步长省略时可以顺便省略最后一个冒号。
切片操作不会因为下标越界而抛出异常,而是简单地在列表尾部截断或者返回一个空列表,代码具有更强的健壮性。¶
定义在一对 ( ) 中
元组与列表类似,但元素不能改变其ID,实质上就是不能变换其内存地址¶
元组一旦定义就不允许整体性更改任意一个元素,因为这样事实上改变了这个元素的内存地址。
元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
从效果上看,tuple()冻结列表,而list( )融化元组。
zip函数的原型为:zip([iterable, …])
zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。
如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同。
参数iterable为可迭代的对象,并且可以有多个参数。迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象,迭代器从可迭代对象的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往前不会后退。
该函数返回一个以元组为元素的迭代对象,其中第 i 个元组包含每个参数序列的第 i 个元素。
返回的对象长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的可迭代对象。没有参数时,它返回一个空的迭代对象。
字典是无序、可变序列。
定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{}”中。
字典中的键可以为任意不可变数据,比如整数、实数、复数、字符串、元组等等。
集合是无序、可变序列,使用一对大括号界定,元素不可重复,同一个集合中每个元素都是唯一的。
集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。