初学者入门Ppython基础三
本篇分享的是入门Python中的列表操作,创建、添加、查找、删除、排序等相关知识和demo演示。
一、什么是列表?
变量可以存储一个元素,而列表是一个大容器,可以存储N多个元素,程序可以更方便地对这些数据进行整体操作
列表也就相当于其他语言中的数组,和他们不同的是其他语言(比如c语言)进行数组使用的时候,数组里面的元素类型都是一样的,而Python中的列表进行数据存储的时候类型可以不同可以是字符串,可以是整型、可以是浮点型。
结构示意图
列表的特点
1、列表的创建
列表的创建的c语言中的数组使用方式一样也是在[]里面进行赋值,只是列表可以是任意类型
#1.方括号创建
lst = ['hello','world',98]
print(lst) #列表中的元素可以根据索引进行输出 下标从0开始
#2.使用内置函数List
lst2 = list(['hello','world',98])
print(lst)
2.列表元素查询
#获取索引
lst = ['hello','world',98]
print(lst.index('hello')) #index获取元素的索引 如果有多个相同的元素则返回相同元素的第一个元素索引
#print(lst.index('hello',1,3)) #ValueError: 'hello' is not in list 从1开始查就找不到hello 会报错
#获取列表中单个元素
lst = ['hello','world',98,'hello','world',98]
#获取索引为2的元素
print(lst[2])
#获取索引为-3的元素
#如果索引超出范围则会报错
print(lst[-3])
lst = [10,20,30,40,50,60,70,80]
#start1,stop=6 step= 1
print(lst[1:6:1])
print(('原列表',id(lst)))
lst2 = lst[1:6:1]
print('切的片段:',id(lst2))
print(lst[1:6]) #默认步长为1
print(lst[1:6:1])
#start1,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('---------------------步长为负数---------------------')
print('原列表:',list)
print(lst[::-1])
#start = 7 stop 默认step = -1
print(lst[7::-1])
#start = 6 stop = 0 step = -2
print(lst[6:0:-2])
3.列表遍历
lst = [10,20,'python','hello']
print('--------------------------列表遍历------------------------')
for item in lst:
print(item)
4.列表添加
print('--------------------------列表添加------------------------')
#1.向列表末尾添加一个元素
lst = [10,20,30]
print('添加元素之前:',lst)
lst.append(100)
print('添加元素之后:',lst)
lst2 = ['hello','world']
lst2.append(lst) #将Lst作为一个元素添加到lst2末尾
print(lst2)
lst2.extend((lst)) #在末尾添加多个元素
print(lst2)
#在任意位置添加一个元素
lst2.insert(1,90)
print(lst2)
#在任意位置填加多个元素
lst3 = ['True','False','Hello']
lst2[1:] = lst3
print(lst2) #将切的部分 用另外一个列表去替换
5.列表删除
print('--------------------------列表删除------------------------')
lst4 = [10,20,30,40,50,30]
lst4.remove(30) #从列表中移除一个元素,如果有重复元素只移除第一个
print(lst4)
#移除的元素不在列表中时会报错
#根据索引移除元素 pop()
lst4.pop(1)
print(lst4)
lst4.pop() #如果不写参数则删除最后一个
print(lst4)
print('----------切片操作删除至少一个元素,将产生一个新的列表对象-------------')
new_list = lst4[1:3]
print('原列表:',lst4)
print('新列表:',new_list)
'''不产生新的列表对象 而是删除原列表中的内容'''
lst4[1:3] = []
print(lst4)
''' 清空列表中的所有元素'''
lst4.clear()
print(lst4)
'''将列表对象删除'''
del lst4
#print(lst4)
6.列表修改
'''列表对象元素的修改'''
print('--------------------------列表修改------------------------')
lst5 = [10,20,30,40,50]
lst5[2] = 100
print(lst5)
#一次修改多个值
lst5[1:3] = [200,300,400]
print(lst5)
7.列表排序
print('--------------------------列表排序------------------------')
lst6 = [20,30,90,0,38,2]
print('排序前:',lst6,id(lst6))
#开始排序 升序
#调用sort() 函数进行排序 可以指定reverse = True进行降序或者升序
lst6.sort()
print('排序后:',lst6,id(lst6))
lst6.sort(reverse=True) #降序
print(lst6)
lst6.sort(reverse=False) #升序
print(lst6)
print('----------------------内置函数进行排序sorted 将产生一个新列表--------------------')
lst7 = [12,49,24,90,23,88]
print('原列表:',lst7)
#开始排序
new_lst7 = sorted(lst7)
print(lst7)
print(new_lst7)
#指定关键字参数实现类别元素的升序降序排序
des_list = sorted(lst7,reverse=True) #降序
print(des_list)
8.列表生成式
'''-------------------列表生成式--------------------'''
lst = [i for i in range(1,10)]
print(lst)
lst = [i*i for i in range(1,10)]
print(lst)
9.判断元素是否在列表中
进行元素判断是否存在时我们可以使用in 和not In 进行判断 返回值为布尔类型
print('p' in 'python') #True
print('k' not in 'python') #True
lst = [10,20,'python','hello']
print(10 in lst) #True
print(100 in lst) #False
print(10 not in lst) #False
print(100 not in lst) #True