python列表和元组的操作
python list
获取列表内容
- 获取列表的长度:
len(list)
- 元素item在列表中出现的次数:
list.count(item)
- 获取元素item的索引:
list.index(item)
在列表中添加元素
- 在列表末尾追加元素item:
list.append(item)
- 在列表list1中追加list2中的元素:
list1.extend(list2)
- 在指定位置插入元素:
list.insert(index, item)
a, b = [1, 2], [1, 2]
a.append('cd')
print(a) # [1, 2, 'cd']
b.extend('cd')
print(b) # [1, 2, 'c', 'd']
修改列表中的元素
- 修改列表指定位置的元素:
list[index] = item
- 排序:
list.sort(reverse=True/False)
(默认为False,升序; 为True时表示降序排列) - 反转列表:
list.reverse()
a, b = [1, 3, 2, 4], [1, 3, 2, 4]
a.sort()
print(a) # [1, 2, 3, 4]
b.reverse()
print(b) # [4, 2, 3, 1]
删除列表中的元素
- 删除列表:
del list
(删除指向列表的变量) - 删除列表中指定位置的元素:
del list[index]
orlist.pop(index)
- 删除列表中最后一个元素:
list.pop()
- 清空列表中的数据:
list.clear()
- 删除列表中第一个出现的元素item:
list.remove(item)
列表运算
- "+" 列表拼接
- "*" 列表复制
- ">"、"<"数据型列表元素比较
- and逻辑运算符 可以进行列表之间的逻辑判断
a = [1, 2]
b = [2, 1]
c = a + b # [1, 2, 2, 1]
d = a*3 # [1, 2, 1, 2, 1, 2]
print(a < b) # True
print(a < b and a < c) # True
列表复制
- 复制列表(深拷贝):
a = list.copy()
ora = list[:]
- 复制列表(浅拷贝):
a = list
a = [1, 2]
b = a.copy()
c = a[:]
d = a
print(id(a) == id(b)) # False 深拷贝
print(id(a) == id(c)) # False 深拷贝
print(id(a) == id(d)) # True 浅拷贝
python tuple
python中元组与列表不同之处:元组的元素不能修改
tup = (1, 2)
tup[0] = 2 # TypeError: 'tuple' object does not support item assignment
创建元组
tup1 = (1, 2)
tup2 = 1, 2 # (1, 2)
tup3 = 1, # (1,)
tup4 = (1,) # (1,) 元组中只包含一个元素时,需在元素后添加","消除歧义
tup5 = (1) # 1
tup6 = () # () 空元组
访问元组
元组可以使用下标索引来访问元组中的值
tup = (1, 2, 3)
print(tup[0]) # 1
print(tup[1:3]) # (2, 3)
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup = (1, 2, 3)
del tup[0] # TypeError: 'tuple' object doesn't support item deletion
del tup
元组运算
- "+" 列表拼接
- "*" 列表复制
- ">"、"<"数据型列表元素比较
- and逻辑运算符 可以进行列表之间的逻辑判断
a, b = (1, 2), (2, 1)
c = a + b # (1, 2, 2, 1)
d = a*3 # (1, 2, 1, 2, 1, 2)
print(a < b) # True
print(a < b or a == b) # True
元组内置函数
- len(tup) 获取元组元素个数
- max(tup) 返回数据型元组中最大的元素
- min(tup) 返回数据型元组中最小的元素
- tuple(seq) 将列表(list、set)转化为元组