数据容器-一种可以存储多个元素的Python数据类型
划分为5类:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)
列表(可存不同数据类型)
定义语法:[ 元素1,元素2,元素3] 作为标识 中间,进行分隔
元素类型无限制、可容纳多个元素、有序存储(下标索引)、允许重复数据存在、可以修改
my_list=["ufrfefief","dddd","ssy"]
print(my_list)
print(type(my_list)) #class 'list'
#不同类型
my_list=["sssss",999,True]
print(my_list)
print(type(my_list))
#嵌套列表
my_list=[[1,2,3],[2,3,4],[4,4]]
print(my_list)
print(type(my_list))
列表的下标索引:取出特定位置的数据
从0开始,依次递增(正向索引 ,从左到右) 反向索引,从右到左依次为-1,-2,-3....
my_list=["Tom","deid","dijdie"]
#下标索引,从左至右,0开始每次加1
print(my_list[0])
print(my_list[1])
print(my_list[2])
#不能超过可用范围
#print(my_list[3]) #会报错
#反向索引
print(my_list[-1])
print(my_list[-2])
print(my_list[-3]) #输出为“dijdie”,“deid","Tom"
#取出嵌套列表的元素
my_list=[[1,2,3],[4,5,6]]
my_list[1][1] #会取出5,第二个列表的第二个数
列表的方法:
方法和函数的功能相同,有传入参数,有返回值,但使用格式不同
函数 def add(x,y) 方法 class Student
return x+y def add(self,x,y)
return x+y
函数的使用: num= add(1,2)
方法的使用:student=Student()
num=student.add(1,2)
列表的常用操作方法:
①查询语法:列表.index(元素)
②插入语法:列表,insert(下标,元素)
③追加语法:语法1:列表.append(元素)
语法2:列表.extend(其他数据容器)
④删除语法:语法1:del 列表[ 下标]
语法2:列表.pop(下标)
删除某元素在列表中的第一个匹配项 语法:列表.remove(元素)
⑤清空列表:列表.clear()
⑥统计某元素在列表中的数量:列表.count(元素)
⑦统计列表元素总共数量:len(列表)
#1.列表-查询
#1.1查找某元素在列表内下标索引
mylist=["dei","wji","indein"]
index=mylist.index("dei")
print(f"dei在列表中的下标索引为:{index}") #0
#1.2如被查找的元素不存在,会报错
#index=mylist.index("Hello")
#print(f"Hello在列表中下标索引为:{index}") #报错
#2.修改特定位置的元素的值
mylist[0]="huhuhu"
print(f"列表被修改后,结果为{mylist}")
#3.插入元素-在指定下标位置插入指定元素
mylist.insert(1,"yu")
print(f"列表插入元素后结果是{mylist}")
#4.追加元素,添加到列表的最后位置
mylist.append("程序猿")
print(f"在列表后追加了元素后的结果是{mylist}")
#5.在列表尾部追加一批新元素
mylist2=[1,2,3]
mylist.extend(mylist2)
print(f"在列表后追加一批新元素,结果为{mylist}")
#6.删除元素(方法1)
mylist=["dei","wji","indein"]
del mylist[2] #仅完成删除
print(f"删除后的结果是{mylist}")
#方法2
mylist=["dei","wji","indein"]
element=mylist.pop(2) #得到了返回值,同时该元素从列表中移除
print(f"通过pop方法取出元素后的列表为{mylist},取出的元素是:{element}")
#7.删除某元素在列表中的第一个匹配项
mylist=["ddddd","hhhh","ddddd","hhhh","python"]
mylist.remove("ddddd") #第一个ddddd被删掉 只能删掉一个
#8.清空列表
mylist.clear()
print(f"列表清空后的结果为{mylist}")
#9.统计某元素在列表中的数量
mylist=["ddddd","hhhh","ddddd","hhhh","python"]
count=mylist.count("ddddd")
print(f"列表中ddddd的数量为{count}")
#10.统计列表元素总数
mylist=["ddddd","hhhh","ddddd","hhhh","python"]
count=len(mylist)
print(f"列表的元素数量总共有{count}个")
案例:
mylist=[21,25,21,23,22,20] #定义列表并用变量进行接收
mylist.append(31) #追加一个数字到尾部
mylist2=[29,33,30]
mylist.extend(mylist2) #追加一个新列表到尾部
print(mylist[0]) #21 取出第一个元素
print(mylist[8]) #33 取出最后一个元素
mylist.index(31) #查找元素31,在列表中的下标位置
list列表的遍历-while循环、for循环
def list_while_func(): #while循环
my_list=["ddd","sss","ppp"]
#循环控制变量通过下标索引控制,默认0
#每次循环将下标索引+1
#循环条件:下标索引变量<列表的元素数量
#定义一个变量用来标记列表的下标
index=0 #初始值为0
while index < len(my_list):
# 通过index变量取出对应下标的元素
element=my_list[index]
print(f"列表的元素:{element}")
index += 1
list_while_func() #调用函数
def list_for_func():
my_list=[1,2,3,4,5]
for element in my_list:
print(f"列表的元素有:{element}")
list_for_func()
对比: 在循环控制上:while循环可自定循环条件,for循环不可自定循环条件
在无限循环上:while循环可以实现无限循环,for不可(被遍历的容器容量不是无限的)
在使用场景上:while适用于任何想要循环的场景 for循环适用于遍历数据容器的场景或简单的固定次数循环场景
案例:取出列表的偶数
my_list=[1,2,3,4,5,6,7,8,9,10]
index=0
my_list2=[]
while index<len(my_list): #采用while循环
element=my_list[index]
if element % 2== 0:
my_list2.append(element)
index+=1
print(f"其中偶数组成新列表:{my_list2}")
my_list2=[]
for element in my_list: #采用for循环
if element%2==0:
my_list2.append(element)
index+=1
print(f"其中偶数组成新列表:{my_list2}")