python之list基础相关
“””
列表:存在所有类型的数据,可以存放不同类型的数据
可通过下标访问。下标从0开始
“””
列表的创建
list_1 = [1,2,3,"4"]
list_2 = list()
遍历
for i in list_1:
print(i, end=" ")
print(" ")
根据下标获取列表数据
value = list_1[-1]
#print("最后一个元素: %s" %(value))
切片
list_2 = list_1[:3]
#print("第1到第3个元素: %s" %(list_2))
list_2.clear()
list_2 = list_1[1:3]
#print("第2到第3个元素: %s" %(list_2))
list_2.clear()
list_2 = list_1[::2]
#print("根据跨度为2的元素: %s" %(list_2))
list_2.clear()
list_2 = list_1[::-1]
#print("列表反转: %s" %(list_2))
方法:增加
list_1.clear()
#print("列表添加元素前,值为: %s" %(list_1))
list_1.append(5)
list_1.append(6)
#print("使用append添加元素后,值为: %s" %(list_1))
list_1.clear()
list_2=[7,8,9]
#print("列表添加元素前,值为: %s" %(list_1))
list_1.extend(list_2) # 等价于 list_1.extend([7,8,9])
#print("使用extend添加元素后,值为: %s" %(list_1))
# 切片添加
list_1=[1,2,3]
#print("列表添加元素前,值为: %s" %(list_1))
list_1[-1:] = [4,5] # 等价于 list_1[len(list_1):] = [4,5]
#print("使用切片添加元素后,值为: %s" %(list_1))
list_1=[1,2,3]
#print("列表插入元素前,值为: %s" %(list_1))
list_1.insert(1,4) # 在指定位置插入元素
#print("在第二个位置插入元素4后,值为: %s" %(list_1))
方法:删除
list_1=[1,2,3,4,5,6,4,6,3,4]
#print("列表删除元素前,值为: %s" %(list_1))
list_1.remove(4) # 删除第一个出现的元素,删除的元素不存在则会报错
#print("列表使用remove删除元素4后,值为: %s" %(list_1))
list_1=[4,1,2,3]
#print("列表删除元素前,值为: %s" %(list_1))
list_1.pop(0) # 删除指定位置的元素,0表示待删除元素的下标
#print("列表使用pop删除第一个元素后,值为: %s" %(list_1))
list_1=[1,2,3]
#print("清空列表元素前,值为: %s" %(list_1))
list_1.clear() #清空列表元素
#print("清空列表元素后,值为: %s" %(list_1))
替换
list_1= [1,2,3,4]
#print("替换列表元素前,值为: %s" %(list_1))
list_1[2:] = [2,4,4,4]
#print("替换列表中第3个元素以后的所有元素后,值为: %s" %(list_1))
排序
list_1= [4,2,1,8,4]
#print("排序前列表元素,值为: %s" %(list_1))
list_1.sort()
#print("使用sort()排序后列表元素,值为: %s" %(list_1))
反转
list_1= [1,2,3,4]
#print("反转前列表元素,值为: %s" %(list_1))
list_1.reverse() # 等价于 list_1[::-1]
#print("反转后列表元素,值为: %s" %(list_1))
查找元素出现的次数
list_1= [1,2,3,4,3,4,5,3]
#print("列表元素,值为: %s" %(list_1))
#print("列表元素4出现的次数,值为: %d" %(list_1.count(4)))
查找元素的索引值
list_1= [1,2,3,4,3,4,5,3]
#print("列表元素,值为: %s" %(list_1))
#print("列表元素4第一次出现的索引,值为: %d" %(list_1.index(4)))
列表运算符(+:两个列表拼接;*n:列表元素重复n次)
s=[1,2]
t=[3,4]
#print("列表S元素,值为: %s" %(s))
#print("列表t元素,值为: %s" %(t))
#print("使用 s+t 拼接后值为:%s" %(s+t))
#print("使用 s*3 将列表s中元素重复3次后值为:%s" %(s*3))
复制(浅拷贝)==>不是拷贝引用
list_1 = [1,2,3,4]
#print("列表list_1元素,值为: %s" %(list_1))
list_1_copy = list_1.copy() # 等价于 list_1_copy1 = list_1[:]
#print("浅拷贝后列表元素,值为: %s" %(list_1_copy))
复制(深拷贝)==>拷贝引用,重新分配一个内存空间
import copy
x=[[1,2,3],[4,5,6],[7,8,9]]
#print("列表x元素,值为: %s" %(x))
y = copy.deepcopy(x)
#print("深拷贝后列表y元素,值为: %s" %(y))
x[1][1] = 4
#print("修改源列表x[1][1]元素后,值为: %s" %(x)) # 深拷贝后源列表与拷贝后列表值的对比
#print("列表y元素,值为: %s" %(y))
二维列表创建
A=[0]*3
for i in range(3):
A[i] = [0]*3
#print("使用普通for 循环创建的二维列表: %s" %(A))
A = [[0]*3 for i in range(3)]
#print("使用列表推导式创建的二维列表: %s" %(A))
A[1][1] = 2
#print("对列表推导式创建的二维列表,修改A[1][1]元素值后,列表: %s" %(A))
列表推导式
x = [1,2,3,4,5]
#print("源列表: %s" %(x))
x = [i*2 for i in x]
#print("对源列表中所有元素乘以2后: %s" %(x))
X = [i for i in range(0,10) if i%2==0]
#print("使用列表推导式得到10以内的偶数列表: %s" %(X))