列表的定义:
列表是一种容器,是一种能存储很多数据的数据类型。由一系列元素组成,元素之间有先后顺序关系
列表的元素可以存放任意对象
列表用中括号[]表示
列表的每个元素之间用逗号分隔
list1 =[1, 'abc', [2, 3], (4, 5), {'A': 'abc'}]
print(list1)
列表是可变对象,里面的元素可以改变,而字符串则不行
list1[0]='one'
print(list1) #['one', 'abc', [2, 3], (4, 5), {'A': 'abc'}]
列表中的子列表:
list2=[100,200,[300,400,500]]
print(list2[2][0]) #300
list2[2]=980 #把子列表改为980
print(list2) #[100, 200, 980]
list2[2][0]=980 #把子列表的第0位改为980
print(list2) #[100, 200, [980, 400, 500]]
列表的新增:
append() 将对象添加到列表的末尾
list2=[100,200,300,400,500]
list2.append(600)
print(list2) #[100, 200, 300, 400, 500, 600]
print(list2.append(600)) #None,没有返回值
insert() 将对象添加到列表的指定位置
list2.insert(2,600)
print(list2) #[100, 200, 600, 300, 400, 500]
list2.insert(-1,600)
print(list2) #[100, 200, 600, 300, 400, 600, 500]
extend() 列表的拼接
使用append会把传入的数据作为一份数据插到列表的后面
如果是在列表嵌套列表的使用就可以使用append插入列表
注:append传入列表是当作一个整体,而extend传入列表是把它的元素拆开
list2_new = [700,800,900]
list2.extend(list2_new)
print(list2) #[100, 200, 300, 400, 500, 700, 800, 900]
list2.append([700,800,900])
print(list2) #[100, 200, 300, 400, 500, [700,800,900]]
列表的删除:
pop() 不写参数,删除列表最后一位的值;写参数,删除指定位置的值
list3 = [100, 200, 300, 400, 500, 600]
list3.pop() #删除最后一位的值
print(list3) #[100, 200, 300, 400, 500]
list3.pop(3) #删除下标为3的元素
print(list3) #[100, 200, 300, 500, 600]
remove() 删除指定的值
list3.remove(200)
print(list3) #[100, 300, 400, 500, 600]
list4 = [100, 200, 300, 200, 400, 500, 600]
list4.remove(200) #只删除第一个200,如果多个元素一样,默认删除第一个
print(list4) #[100, 300, 200, 400, 500, 600]
del 删除列表中的元素
区别:pop函数是list类的成员函数,并且有返回值,就是删除掉的这个元素;del是全局函数,没有返回值
del list3[0]
print(list3)
del既可以删除列表中的元素,也可以删除列表
del list3
列表的切片:
列表的切片,用法与字符串一致
[起始值:终止值:步长],步长省略时默认为1
步长为负数时,从右向左进行切片
切片生成的是新对象,不改变原列表
list5 = [100, 200, 300, 400, 500, 600]
list5_new = list5[0:2] #切片生成的是新的对象,不影响原对象
print(list5) #[100, 200, 300, 400, 500, 600]
print(list5_new) #[100, 200]
print(list5[0:2]) #[100, 200]
print(list5[-1:-3:-1]) #[600, 500]
元组的定义:
小括号()包裹的部分就是元组
元组的元素可以存放任意对象
元组的每个元素之间用逗号分隔
元组是不可变对象,不可以新增或修改或删除元组的元素(元组只能查不能增删改)
元组也可以使用下标和切片,用法和列表一致
tuple1 = (100,200)
print(tuple1[0]) #100
tuple1[0] = 980 #报错。元组是不可变对象,不可以修改某一位的值
如果元组中只有一个元素,加一个逗号
tuple2 = (100,)
print(type(tuple2)) #<class 'tuple'>
如果元组中有子列表,子列表的值可以修改
tuple3 = (100,200,[300,400,500])
tuple3[2][0]=1998
print(tuple3) #(100, 200, [1998, 400, 500])
转类型:
list() #将对象转为列表
tuple() #将对象转为元组
str() #将对象转为字符串