DAY-02
列表
列表的定义
#列表
lst = ['hello','world',98]
print(id(lst))
print(type(lst))
print(lst)
列表的创建
列表的查询
lst = ['hello','world',98,'hello']
print(lst.index('hello')) #如果有相同元素 则只要输出第一个元素的索引
print(lst.index('hello',1,4)) #在索引1-4中查找(不包括4)
切片操作:新切片为一个新的列表
#切片操作
print('-------------step为正-------------')
lst = [10,20,30,40,50,60,70,80]
lst2 = lst[1:7:2] #start:stop:step start默认从第一个元素索引开始 stop默认为最后一个元素索引 step默认为1
print(lst2)
print('-------------step为负-------------')
lst3= lst[7:1:-2] #start:stop:step start默认从最后元素索引开始 stop默认为第一个元素索引 step默认为-1
print(lst3)
列表的增加
lst = [10,20,30,40]
lst1 = [10,20,30,40]
lst.append(60)
print(lst)
lst2 = ['hello','world']
lst3 = ['hello','world']
lst.append(lst2) #向列表末尾增加一个元素
lst1.extend(lst3) #向列表末尾增加至少一个元素
print(lst)
print(lst1)
lst.insert(3,'666') #在列表中插入一个元素
print(lst)
lst4=[111,222,333,444]
lst[1:]=lst4 #start:stop:step 向列表中插入多个元素 原来的会被切掉
print(lst)
列表的删除
lst = [10,20,30,40,50,60]
lst.remove(30) #移除值为30的元素 如果有相同的元素 则只移除第一个元素
print(lst)
lst.pop(2) #删除索引为2的元素 如果不指定索引 则删除最后一个元素
print(lst)
lst[1:3] = [] #切片操作 用空列表来替代1-3(不包括3)
print(lst)
lst.clear() #清空列表
print(lst)
del lst #从内存中删除列表
列表的修改
lst = [10,20,30,40,50,60]
lst[2]=100 #修改索引为2的值
print(lst)
#用切片操作修改多个元素
lst[1:3]= [300,400,5000,235] #把原列表的1-2换成了300,400,5000,235
print(lst)
列表的排序
lst = [29,35,65,13,46,23,68]
lst1 = [29,35,65,13,46,23,68]
lst.reverse() #逆置这个列表
print('逆置这个列表',lst,id(lst))
print('排序前:',lst,id(lst))
lst.sort()
print('按升序排序后:',lst,id(lst ))
print('排序前:',lst1,id(lst1))
lst1.sort(reverse=True)
print('按降序排序',lst1,id(lst1))
lst = [29,35,65,13,46,23,68]
print("原列表:",lst)
new_lst = sorted(lst) #使用sorted后会产生一个新的列表对象
print('执行sorted后的原列表:',lst)
print('升序排序后的新列表:',new_lst)
#列表元素的降序排序
desc_lst = sorted(lst,reverse=True)
print('降序排序后的新列表',desc_lst)
总结:sort()是对原来的列表进行一个排序,id不变
sorted()是排序成一个新的列表,排序后是一个新的列表
列表生成式
lst = [i for i in range(1,10)]
print(lst)
lst1 = [i*i for i in range(1,10)]
print(lst1)
posted on 2022-08-12 09:59 monster-little 阅读(24) 评论(0) 编辑 收藏 举报