三、列表与元组
三、列表与元组
Pupper列表(list)
定义
列表类似于Java中的数组,但是它更强大,可以存放 任意 数据类型。
列表的内容 可以改变,字符串的内容 不可改变,如果需要改变则需要重新赋值。
1 | # 定义一个空列表 |
切片
列表可以用元素索引的方式取出里面的元素; 也可以用切片操作 截取一部分内容生成 新的列表。
列表的 索引和切片操作和 字符串是 类似的。
::: warning
1.列表切片后得到的结果仍然为 列表。
2.列表切片后得到的是新列表,原来的列表不变。
:::
1 | a = [1, 2, 3.14, 'hello', [7,8,9] ] |
增、删、改
增
使用
append
添加值到列表的末尾1
2
3
4list1 = [1,2]
list1.append('你好')
print(list1) # [1,2,'你好']使用
insert()
添加值到指定的位置insert()
:第一个参数表示 下标 的位置,第二个参数表示 添加的值 。 如果下标设置过大时,则结果和 append 效果一致。
1
2
3
4list1 = [1, 2, 3, 4]
list1.insert(2, "你好")
print(list1) # [1, 2, "你好", 3, 4]使用
extend()
可以对列表进行拼接::: tip
如果 extend 的参数是字符串时,则会将字符串拆分为列表然后进行拼接。
:::
1
2
3
4
5
6
7list1 = [10, 20 ,30]
list1.extend([40, 50])
print(list1) # [10, 20 ,30, 40 ,50]
list1.extend('abc')
print(list1) # [10, 20 ,30, 40 ,50, 'a', 'b', 'c']两个列表合并可以使用
+
1
2
3
4a = [1, 2, 3]
b = [4, 5, 6]
print(a + b) # [1, 2, 3, 4, 5, 6]
删
使用
pop()
删除列表的元素::: tip
1.pop 方法不加参数时,默认删除最后一位。
2.pop 方法加入参数时,则删除指定下标的值。
3.pop 方法删除的值可以使用变量进行接收。
:::
1
2
3
4
5
6list1 = [10, 20, 30, 40, 50]
list1.pop() # [10, 20, 30, 40]
list1.pop(1) # [10, 30, 40]
a=list1.pop() # 40
print(list) # [10, 30]使用
remove()
根据值进行删除当有多个相同的值时,remove 方法只删除第一个遇到的值
1
2
3
4list1 = [10, 20, 30, 40, 30]
list1.remove(30) # 30
print(list1) # [10, 20, 40, 30]使用
del
删除列表元素1
2
3
4list1 = [10, 20, 30, 40, 30]
del list1[2] # 30
print(list1) # [10, 20, 40, 30]
改
列表属于可变对象,其内容 可以改变,字符串的内容 不可改变,如果需要改变则需要重新赋值。
1
2
3
4list1 = ['a', 33, [10, 20], {'A': 'apple'}, (1, 2)]
list1[2][0] = 'a'
print(list1) # ['a', 33, ['a', 20], {'A': 'apple'}, (1, 2)]
排序
::: warning
1.list.sort()
方法只能用在列表中;
2.sorted()
方法可以用在所有可迭代序列中;
:::
临时排序
::: tip
sorted()
方法不会改变原列表,会返回一个 新列表,新列表会以 从小到大 的顺序排列。:::
1
2
3list1 = [34,6,-1,90,102,87,99]
print(sorted(list1)) # [-1, 6, 34, 87, 90, 99, 102]永久排序
::: tip
sort()
方法改变的是原列表,原列表改变后不可逆。:::
1
2
3
4list1 = [34,6,-1,90,102,87,99]
list1.sort()
print(list1) # [-1, 6, 34, 87, 90, 99, 102]倒序
通过
sort()
方法进行排序1
2
3
4list1=[-1, 6, 34, 87, 90, 99, 102]
list1.sotr(reverse = True)
print(list1) # [102, 99, 90, 87, 34, 6, -1]通过 切片 的方式进行排序
1
2
3list1=[-1, 6, 34, 87, 90, 99, 102]
print(list1[::-1]) # [102, 99, 90, 87, 34, 6, -1]
元组(Tupl)
定义
元组和列表非常相似,是 不可变 对象,可以存放 任何类型 的数据,它不能进行 增、删、改 操作。
用圆括号()
来表示元组。
1 | # 定义一个空元组 |
::: warning
1.元组中只有一个元素,必须要在后面加上逗号.
2.定义元组还可以去掉圆括号
:::
1 | # 真确写法 |
切片
元组的 索引和切片操作和 列表、字符串是 类似的。
1 | a = (1, 2, 3.14, 'hello', [7,8,9]) |
元组对象的内容是 不可以变化的,但是元组中的列表的内容却是可以改变的.
1 | a = (1, 2, 3.14, 'hello', [7,8,9]) |
判断元素是否在元组或列表中
使用 in
或 not in
判断元素是否在列表或元组中
1 | tuple1=(10,20,30,40,50) |
多个变量同时赋值
1 | x,y = (1,2) # x 的值为 1, y 的值为 2 |