1.为什么需要列表

 

 

a=10 #变量存储的是一个对象的引用
lst=['hello','world',98]
print(id(lst))
print(type(lst))
print(lst)

 

 2.列表的创建

 

 

'''创建列表的第一种方式,使用[]'''
lst =['hello','world',98]
print(lst)
'''创建列表的第二种方式,使用内置函数list()'''
lst2=(['hello','world',90])
print(lst2)

 

3.列表的特点

 

 

lst=['hello','world',90,'hello']
print(lst)
print(lst[0],lst[-4])

 

 4.获取指定元素的索引

 

 

lst=['hello','world',98,'hello']
print(lst.index('hello'))

#print(lst.index('pyhton')) ValueError: 'pyhton' is not in list
#print(lst.index('hello',1,3)) ValueError: 'hello' is not in list
print(lst.index('hello',1,4))

 

 

5.获取列表中的多个元素,切片操作

 

 

lst=[10,20,30,40,50,60,70,80]
#start=1,stop=6,step1
print('原列表',id(lst))
lst2=lst[1:6:1]
print('切的片段:',id(lst2))
print(lst[1:6])#默认step=1
#start=1,stop=6,step=2
print(lst[1:6:2])
#stop=6,step=2,start采用默认
print(lst[:6:2])
#start=1,step=2,stop采用默认
print(lst[1::2])
print('-----step步长为负数的情况----------')
print('原列表',lst)
print(lst[::-1])
#start=-7,stop省略,step=1
print(lst[7::-1])
#start=6,stop=0,step=-2
print(lst[7:0:-2])

 

 6.列表元素的判断和遍历

 

 

print('p' in 'python')
print('k' not in 'python')
lst=[10,20,'python','hello']
print(10 not in lst)

 

 7.列表元素的添加操作

 

 

lst=[10,20,30]
print('添加元素之前:',lst,id(lst))
lst.append(100)
print('添加元素之后:',lst,id(lst))
lst2=['hello','world']
#lst.append(lst2) [10, 20, 30, 100, ['hello', 'world']]

lst.extend(lst2)#向列表的末尾一次性添加多个元素
print(lst)

#在任意位置添加一个元素
lst.insert(1,90)
print(lst)

lst3=['True','False','hello']
#在任意位置上添加多个元素
lst[1:]=lst3
print(lst)

 8.列表的删除操作

 

 

 

lst=[10,20,30,40,50,60,30]
lst.remove(30) #从列表中移除一个元素,如果有重复元素只移除第一个元素
print(lst)

#pop() 根据索引移除元素
lst.pop(1)
print(lst)
#lst.pop(5) IndexError: pop index out of range 如果指定的索引位置不存在,将抛出异常
lst.pop() #如果不指定参数(索引),将删除列表中的最后一个元素
print(lst)

print('-----------切片操作,删除至少一个元素,将产生一个新的列表对象---------------')
new_lst=lst[1:3]
print('原列表',lst,id(lst))
print('切片后的列表',new_lst,id(new_lst))

'''不产生新的列表对象,而是删除原列表中的内容'''
lst[1:3]=[]
print(lst,id(lst))

'''清除列表中的所有元素'''
lst.clear()
print(lst)

'''del语句将列表对象删除'''
del lst
#print(lst) NameError: name 'lst' is not defined

 

 

 

9.列表的修改

 

 

 

lst=[10,20,30,40]
#一次修改一个值
lst[2]=100
print(lst)

#修改多个值
lst[1:3]=[300,400,500,600]
print(lst)

 

 

 

10.列表的排序

 

 

 

lst=[20,40,10,98,54]
print('排序前的列表',lst,id(lst))
#开始排序,调用列表对象的sort方法,升序排序
lst.sort()
print('排序后的列表',lst,id(lst))

#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse=True) #reverse True表示降序排序,reverse False表示升序排序
print(lst)

print('-----------使用内置函数sroted()对列表进行排序,将产生一个新的列表对象-----------')
new_lst=sorted(lst)
print(lst,id(lst))
print(new_lst,id(new_lst))
#指定关键字参数,实现列表元素的降序排序
desc_list=sorted(lst,reverse=True)
print(desc_list)

 

 

 

11.列表的生成式

 

 

 

lst=[i*i for i in range(1,10)]
print(lst)

'''列表中的元素的值为2,4,6,8,10'''
lst2=[i*2 for i in range(1,11)]
print(lst2)

posted on 2021-11-28 23:22  从精通到陌生  阅读(57)  评论(0编辑  收藏  举报