容器类型
1.列表(list)###
作用:用来存储多个数据,是可变的(列表长度可变,元素的值和位置可变,),有序的(可以通过下标来获取元素),元素类型可不同(任意类型,也可以为空[])。
字面量:[元素1,元素2,…………]
list1=[1,34,True,"djdfj",
[2,4,5553,"sf"]
]
获取单个元素:列表[下标],下标同字符串,0列表长度-1,或者-1-列表长度
获取多个元素:切片
names=["sjd","hk","sb"]
print(names[0],names[-3])
print(names[0:3],names[-1:-4:-1])
元素的增加,删除,更改(注意,变化后下标也会变化)
增加:append(元素)---->在列表最后添加一个元素,insert(下标,元素)---->在指定的坐标前添加指定的元素。
删除:del 列表[下标] ---->删除指定位置元素;列表.remove(元素)--->删除指定元素(元素有多个,只删除最前面哪一个);列表.pop()---->将列表中最后一个元素取出;列表.pop(下标)---->将指定下标元素去除
del语句:python中删除数据的语法,可以删除任何数据
更改:列表[下标]=新值
numbers=[0,1,2,3,4,5,1]
numbers.append(6) #在列表最后加元素
numbers.insert(1,"insert") #在指定下标前添加元素
del numbers[0] #删除第一个元素
numbers.remove(1) #删除元素1
numbers[3]="更改" #更改元素
print(numbers)
print(numbers.pop(0)) #取出第一个元素
print(numbers)
易错点:
在遍历序列时,最好不要对序列进行增加和删除,否者会出错(容易漏掉一些元素或者超出下标范围)
names=[1,3,4,5,5,34]
for name in names[:]:
if name==5:
names.remove(5)
print(names)
列表合并:列表1+列表2
列表*n:列表重复n次
列表1==列表2:判断是否相等。也可以用is
补充:
一个数据有3个元素:id,value,type;==判断的是value,is判断的是id
list1=list2给的是id
list3=list1[:] 将list1中的数据拷贝一份存到内存区域,然后把新的id给list3
列表相关的方法 :
元素1 in列表2:元素1是否包含列表2
元素1 not in 列表2:元素1是否不包含列表2
len(列表):列表元素个数
还有max(),min():获取最大或最小的元素(列表中元素要同类型,且元素能比较大小(函数不能比较大小))
list(数据)--->将指定的数据转换成列表(只有容器(序列)可以转换成列表)
序列:字符,range,列表,字典,元祖,集合,迭代器
列表.count():获取指定元素在列表中的个数
列表.extend(序列):将序列中的元素添加到列表中
列表.index(元素):获取指定元素在列表中的下标(有相同的去地一个的下标)
列表.sort():从小到大排序
列表.sort(reverse=True):降序排序
列表.clear():清除列表
列表.copy():复制列表,和[:]功能一样
列表.reverse():将元素倒序
nums=[1,2,34,5,5,67,9]
print(id(nums))
print(max(nums))
print(nums.count(5))
nums.extend([12,4353,65])
print(nums)
print(nums.index(5))
print(id(nums))
print(sorted(nums))
nums.sort()
print(id(nums))
nums.reverse()
print(nums.copy())
print(nums)?