python的列表
列表的格式
定义:列表是一个可修改的,元素以逗号分割,以中括号包围的有序序列。
格式:变量名=[元素 1,元素 2,元素 3,…]
number = [1,2,3,4,5]
print(number)#[1, 2, 3, 4, 5]
print(type(number))#<class 'list'>
列表的序列操作
1:列表的相加
list1 = [1,2,3]
list2 = [2,3,4]
print(list1+list2)#[1, 2, 3, 2, 3, 4]
2:列表的乘法操作
list1 = ['ok']
list2 = list1 *4
print(list2)#['ok', 'ok', 'ok', 'ok']
3:列表的切片
list1 = [1,2,4,5]
print(list1[1:])#[2, 4, 5]
4:列表通过遍历访问元素
list1 = [1,23,4,5,6]
for i in list1:
print(i,end=" ")# 1 23 4 5 6
5:列表的解包
list1 = [1,2,3,4,5]
print(*list1)#1 2 3 4 5
####列表的增加操作
方法 | 用法 |
---|---|
append | 在列表尾部加入指定的元素 list.append(元素) |
extend | 将其他列表加入到列表里(合并不去重复的)list.extend(list) |
insert | 将元素方到指定位置list.insert(0,元素) |
例 append
list1 = [1,2,3,4,5]
list1.append(7)
print(list1)#[1, 2, 3, 4, 5, 7]
例 extend
list1 = [1,2,3,4,5]
list2 = ['hh','jj']
list1.extend(list2)
print(list1)#[1, 2, 3, 4, 5, 'hh', 'jj']
例 insert
list1 = [1,2,3,4,5]
list1.insert(3,'hh')
print(list1)#[1, 2, 3, 'hh', 4, 5]
列表的删除操作
方法 | 用法 |
---|---|
pop | 默认删除最后一个list.pop() |
remove | 删除指定的元素list.remove(元素) |
del | 删除列表的内容list.del() |
clear | 清空列表的内容list.clear() |
例 pop
list1 = [1,2,3,4,5]
list1.pop()
print(list1)#[1, 2, 3, 4]
例 remove
list1 = [1,2,3,4,5]
list1.remove(3)
print(list1)#[1, 2, 4, 5]
例 del
list1 = [1,2,3,4,5]
del list1
例 clear
list1 = [1,2,3,4,5]
list1.clear()
print(list1)#[]
列表的修改操作
方法 | 用法 |
---|---|
list[index] | 通过索引值删除 |
reverse | 排序倒序 reverse(list) |
sort | 按ascll码表培训 list.sort()//list.sort(reverse=True) |
sorted | 同上 sorted(list)//sorted(list,reverse=True) |
例 list[index]
list1 = [1,3,4,5,6,7]
list1[3] = 4
print(list1)#[1, 3, 4, 4, 6, 7]
例 reverse
list = [1,2,7,4,5]
list.reverse()
print(list)#[5, 4, 7, 2, 1]
例 sort
list = [1,2,7,4,5]
list.sort()
print(list)#[1, 2, 4, 5, 7]
例 sorted
list = [1,2,7,4,5]
sorted(list)
print(list)#[1, 2, 7, 4, 5
列表的查找
方法 | 用法 |
---|---|
count | 计数,返回要查找元素的个数 count(元素) |
index | 从左往右查找反正第一元素的索引值index(元素) |
例 count
list = [1,2,7,4,5,2]
print(list.count(2))#2
例 index
list = [1,2,7,4,5,2]
print(list.index(2))#1
列表的嵌套
list1 = [[1],[2]]
print(list1[0][0])#1
列表的深浅拷贝
我们可以大致将这些数据类型归类为简单数据类型和复杂的数据类型。
简单数据类型: bool、int、float、str。
复杂数据类型:list、tuple、set、dict。
方法 | 用法 |
---|---|
浅拷贝copy | 对于浅 copy 来说,第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。 |
深拷贝copy.deep() | 嵌套的可变数据类型重新开辟一块内存空间 |
浅拷贝
import copy
list = [1,2]
a = copy.copy(list)
print(id(list))#id 38985288
print(id(a))#id 37808904
深拷贝
import copy
list = [1,2,[3]]
a = copy.deepcopy(list)
print(id(list))#id 37350024
print(id(a))#id 37348424
列表的推到式
list = [x for x in range(5)]
print(list)#[0, 1, 2, 3, 4]