常用数据结构及基本操作
一、列表
列表是可变的
1.1 列表的基本操作
序列的通用操作都适用于列表
- list()函数创建列表
tmp = list('Hello')
print(tmp) #['H', 'e', 'l', 'l', 'o']
print(type(tmp)) #['H', 'e', 'l', 'l', 'o']
- 改
a = list('ooooo')
a[2] = 'A'
print(a) #['o', 'o', 'A', 'o', 'o']
- 删除
print(a) #['o', 'o', 'A', 'o', 'o']
del a[2]
print(a) #['o', 'o', 'o', 'o']
- 分片赋值
str1 = list('abcdef')
print(str1) #['a', 'b', 'c', 'd', 'e', 'f']
str1[3: ] = list('abc')
print(str1) #['a', 'b', 'c', 'a', 'b', 'c']
#长序列替换短分片
str2 = list('ppp')
print(str2) #['p', 'p', 'p']
str2[1:] = ('ython')
print(str2) #['p', 'y', 't', 'h', 'o', 'n']
#短序列替换长分片
str3 = list('abcdefg')
print(str3) #['a', 'b', 'c', 'd', 'e', 'f', 'g']
str3[1:] = list('bc')
print(str3) #['a', 'b', 'c']
利用分片实现序列插入
str4 = [1, 5]
str4[1: 1] = [2, 3, 4]
print(str4) #[1, 2, 3, 4, 5]
1.2 列表方法
- append() 末尾追加新元素
lst = [1, 2, 3]
lst.append(4)
print(lst) #[1, 2, 3, 4]
- count() 统计某个元素在列表中出现的次数
print([1, 2, 3, 4, 5, 2, 3, 1, 2, 3, 42, 1, 2, 3, 5].count(1)) #3
3.extend() 在列表末尾一次性追加另一个序列中的多个值
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a) #[1, 2, 3, 4, 5, 6]
- index() 从列表中找出某个索引对应的值
a = ['Me', 'and', 'my', 'broken']
print(a.index('my')) #2
- insert() 元素插入到列表对应位置
number = [1, 2, 3, 4, 5]
number.insert(3, 'hello')
print(number) #[1, 2, 3, 'hello', 4, 5]
number.insert(3, 6)
print(number) #[1, 2, 3, 6, 'hello', 4, 5]
- pop() 弹出一个元素并返回元素
number = [1, 2, 3, 4, 5, 6, 7, 8]
a = number.pop()
print(a) #8
print(number) #[1, 2, 3, 4, 5, 6, 7]
#pop()根据索引弹出元素
print(number.pop(3)) #4
print(number) #[1, 2, 3, 5, 6, 7]
- remove() 从列表中删除元素 ,但不返回被删除的元素
str5 = list('hello')
print(str5) #['h', 'e', 'l', 'l', 'o']
str5.remove