列表
一、列表定义
二、列表创建
- 创建普通列表
- 利用range()创建列表
- 利用推导式创建列表
- 创建混合列表
- 创建空列表
三、向列表中添加元素
- list.append(obj)
- list.extend(seq)
- list.insert(index,obj)
四、删除列表中元素
-
list.remove(obj)
例:
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] x.remove('Tuesday') print(x)
[‘Monday’, ‘Wednesday’, ‘Thursday’, ‘Friday’]
-
list.pop([index=-1])
-
del var1[,var2 …]
五、获取列表中的元素
- 通过元素的索引值,从列表获取单个元素,注意,列表索引值是从0开始的。
- 通过将索引指定为-1,可让Python返回最后一个列表元素,索引 -2 返回倒数第二个列表元素,以此类推。
- 切片的通用写法是
start : stop : step
,注意前闭后开- "start :"—以
step
为 1 (默认) 从编号start
往列表尾部切片。 - ": stop"—以
step
为 1 (默认) 从列表头部往编号stop
切片。 - "start : stop"—以
step
为 1 (默认) 从编号start
往编号stop
切片。 - "start : stop : step"—以具体的
step
从编号start
往编号stop
切片。如果step
设为 -1,相当于将列表反向排列。 - " : "—复制列表中的所有元素(浅拷贝)。
- "start :"—以
六、列表的常用操作符
- 等号操作符:
==
- 连接操作符
+
- 重复操作符
*
- 成员关系操作符
in
、not in
「等号 ==」,只有成员、成员位置都相同时才返回True。
列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
前面三种方法(append
, extend
, insert
)可对列表增加元素,它们没有返回值,是直接修改了原数据对象。 而将两个list相加,需要创建新的 list 对象,从而需要消耗额外的内存,特别是当 list 较大时,尽量不要使用 “+” 来添加list。
七、列表的其他方法
list.count(obj)
统计某个元素在列表中出现的次数list.index(x[, start[, end]])
从列表中找出某个值第一个匹配项的索引位置list.reverse()
反向列表中元素list.sort(key=None, reverse=False)
对原列表进行排序。key
– 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse
– 排序规则,reverse = True
降序,reverse = False
升序(默认)。- 该方法没有返回值,但是会对列表的对象进行排序。
元组
“元组” 定义语法为:(元素1, 元素2, ..., 元素n)
- 小括号把所有元素绑在一起
- 逗号将每个元素一一分开
一、创建和访问一个元组
- Python 的元组与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串。
- 元组使用小括号,列表使用方括号。
- 元组与列表类似,也用整数来对它进行索引 (indexing) 和切片 (slicing)。
- 创建元组可以用小括号 (),也可以什么都不用,为了可读性,建议还是用 ()。
- 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
二、更新和删除一个元组
元组有不可更改 (immutable) 的性质,因此不能直接给元组的元素赋值,但是只要元组中的元素可更改 (mutable),那么我们可以直接更改其元素,注意这跟赋值其元素不同。
week = ('Monday', 'Tuesday', 'Thursday', 'Friday')
week = week[:2] + ('Wednesday',) + week[2:]
print(week) # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
(‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’)
三、元组相关的操作符
- 等号操作符:
==
- 连接操作符
+
- 重复操作符
*
- 成员关系操作符
in
、not in
「等号 ==」,只有成员、成员位置都相同时才返回True。
元组拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
四、内置方法
元组大小和内容都不可更改,因此只有 count
和 index
两种方法。