本文仅是个人学习摘录所用,部分摘录自菜鸟教程
1. 列表
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
- Python有6个序列的内置类型,但最常见的是列表和元组。
- 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
- 列表的数据项不需要具有相同的类型
1.基本用法
- 负数下标:-1表示列表最后一个下标,-2表示列表中倒数第二个下表,以此类推
- 切片与子列表:spam[1:4:n],第一个整数是切片开始处的下标,第二个整数时切片结束处的下标,切片向上增长,直至第二个下标的值,但不包括它。第三个参数n,是截取的步长,为负数表示逆向读取,spam[-1::-1]表示翻转字符串
- 列表也可以包含其他列表值,通过多重下表来访问。spam[0][1]表示第一个列表中的第二个值,如果只使用一个下表,将打印该下标处的完整列表值
- del 语句:删除列表的的元素,如del list[2]
- 用列表中的值,为多个变量赋值,变量的数目和列表的长度必须严格相等
a = [1, 2, 3, 4]
b, c, d, e = a
2.函数\方法
函数 | 描述 |
---|
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
用 max() 函数当比较容器类型中的列表或者元组数据类型时,当其中的元素全部为数字类型时,直接根据值的大小比较。当其中的元素全部为字符串类型(string)时,则比较的是每个字符串元素的第一个字符的 ASCII 的大小。如果列表或者元组中的元素为数字类型和字符串类型混杂时,则无法比较。
方法 | 描述 |
---|
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 将对象插入列表 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
list.remove(obj) | 移除列表中某个值的第一个匹配项 |
list.reverse() | 反向列表中元素 |
list.sort( key=None, reverse=False) | 将列表值排序,但不能对既有数字又有字符串值的列表排序,对字符串排序时,使用“ASCII字符顺序”,而不是实际的字典顺序,所以大写字母排在小写字母前。reverse=True, 逆序排序。要按照字典顺序排序,key=str.lower |
list.clear() | 清空列表 |
list.copy() | 复制列表 |
3.列表脚本操作符
表达式 | 结果 | 描述 |
---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
[‘Hi!’] * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
3 not in [1, 2, 3] | False | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
2. 元组
- 元组与列表类似,不同之处在于元组的元素不能修改
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d"
>>> type(tup3)
<class 'tuple'>
- 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
tup1 = (50,) - 元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup3 = tup1 + tup2 - 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
del tup1 - 元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素
- 所谓元组的不可变指的是元组所指向的内存中的内容不可变。
tup = ('r', 'u', 'n', 'o', 'o', 'b')
>>> id(tup)
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800
1.元组运算符
表达式 | 结果 | 描述 |
---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
(‘Hi!’,) * 4 | (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print (x,) | 1 2 3 | 迭代 |
2.内置函数
方法 | 描述 |
---|
len(tuple) | 计算元组元素个数。 |
max(tuple) | 返回元组中元素最大值。 |
min(tuple) | 返回元组中元素最小值。 |
tuple(iterable) | 将可迭代系列转换为元组。 |