列表
1.列表的定义
列表是可变的
类型:list
定义使用[ ]
列表在进行操作的时候不能直接print,会返回None,进行操作以后在打印,因为列表中是可变的
最好不要在循环中对列表会进行删除remove()
案例:
cl1 = []
print(cl1)
print(type(cl1))
cl2 = [1]
print(cl2)
# 定义多个元素的列表
cl3 = [1,22,'hello',(4,5,6),[8,9,10]]
print(cl3)
# 遍历
for v in cl3:
if isinstance(v,tuple) or isinstance(v,list):
for v2 in v:
print(v2)
else:
print(v)
# 下标的访问
cl4 = [1,2,3,4]
print(cl4[0])
print(cl4[1])
print(cl4[3])
# 字符串的逆序
s = 'hello'
i = len(s)-1
ret=''
while i>=0:
ret+=s[i]
i-=1
print(ret)
2.列表的排序sort reverse
sort | 默认是升序排序,可以设置参数reverse=True,实现降序 |
---|---|
reverse | 逆序,不是降序,只是把列表的元素位置互换 |
案例
# 默认是升序
cl1=[9,2,5,6,7,8]
cl1.sort()
print(cl1)
# 降序
cl1.sort(reverse=True)
print(cl1)
# 逆序,逆序的过程中不会进行数据的排序
cl2=[9,2,5,6,7,8]
cl2.reverse()
print(cl2)
# 实现列表逆序的方法
def test():
cl3=[]
cl4 = [9, 2, 5, 6, 7, 8]
i = len(cl4)-1
while i>=0:
cl3.append(cl4[i])
i-=1
return cl3
print(test())
3.列表的增(append)扩展(extend)插入(insert)
append() | 默认增加到最后边 |
---|---|
extend() | 扩展,把一个列表中的所有增加到另一个列表中 |
insert() | 指定插入,第一个参数插入的下标,第二个参数插入的内容 |
案例
cl1=[1,2,3,4]
# 增加,自动的增加在后边
cl1.append(5)
cl1.append('hello')
print(cl1)
# 扩展extend
cl2=[2,3,4]
cl3=[9,87,45]
cl3.extend(cl2)
print(cl3)
# 插入insert
# 注意:在插入数据时,没有下标越界问题
# 如果指定下标超过元素正常范围,相当于追加
cl4=[1,7,8]
# 第一个参数,下标,第二个插入内容
cl4.insert(0,22)
cl4.insert(7,90)
print(cl4)
4. 列表的查找,统计(count)index,in ,not in
count() | 统计出现的次数 |
---|---|
index() | 查找返回下标 |
in | 判断是不是在列表里边,返回值bool |
not in | 不在里边,返回值bool |
案例
cl1 = [1,2,2,1,45,67,8,9,0,2,3,5]
print(cl1.count(1))
print(cl1.index(1))
print(cl1.index(45))
# in not in
print(1 in cl1)
print(1 not in cl1)
5. 删除
pop() | 默认删除最后一个 |
---|---|
remove() | 移除指定的内容 |
del() | 删除列表,或者删除列表中的元素 |
clear() | 清空列表的内容 |
案例:
cl1 = [1,2,3,4,5,6,7]
# pop默认删除最后一个
cl1.pop()
print(cl1)
cl1.pop(3)
print(cl1)
# 删除指定的对象,多个是删除第一个
cl2 = [1,2,3,43,2,1,1,12,2,2]
cl2.remove(1)
print(cl2)
# del
del cl2[1]
del(cl2[4])
print(cl2)
# 删除整个列表
del cl2
# clear清空列表的元素
cl3 = [2,34,4]
cl3.clear()
print(cl3)
# 在使用列表时,不要在循环遍历时删除元素
cl4 = [4,3,5,6,4,7,89]
for v in cl4:
cl4.remove(v)
print(cl4)