monster-little

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编辑  收藏  举报

导航