数据容器入门:
存入多个数据不可能创建多个变量,但效率太低,而数据容器可以容纳多个数据。
可以容纳多份的数据类型,容纳的每一份数据称为元素,每一种元素可以是多种类型,如字符串型,数字,布尔等。
根据数据容器的特点不同分为5个容器
1.是否支持重复元素
2.是否支持修改
3.是否有序等分为5类
分别是:list列表,tuple元组,字符串str,集合set,字典dict
数据容器(列表list):
列表的定义:
语法结构:
#字面量
[元素1,元素2,元素3.......]
#定义变量:
变量名称=[元素1,元素2,元素3,.........]
#定义空列表:
变量名称=[]
变量名称=list()
在列表中在创建一个列表叫嵌套
示例:
my_list=["ithema","itcast","python"]
print(my_list)
print(type(my_list))
my_list1=["ithema",6666,True]
print(my_list1)
print(type(my_list1))
my_list2=[[1,2,3],[4,5,6]]
print(my_list2)
print(type(my_list2))
列表的下标索引:
用下标索引来取特定位置的元素,列表中的下标索引从前往后,从0开始,每次+1。
语法结构:
列表[下标索引]
反向列表索引:
也可以从后往前,从-1到..........每次-1
如果是嵌套结构可以这样写
语法结构:
列表[下标索引1][下标索引2]
示例:
my_list=["TOM","LILY","ROSE"]
#从前向后从0开始,每次+1,从后向前从-1开始,每次减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])
#嵌套列表取数据
my_list=[[1,2,3],[4,5,6]]
print(my_list[1][1])
列表的常用操作:
插入元素,删除元素,清空列表,修改元素,统计元素个数等等
将函数定义在class类内就称为方法
1.查找
列表下标的方法,如果找不到报ValueError
语法结构:
列表.index(元素)
index就是列表对象内置的方法
示例:
mylist=["itheima","itcast","python"]
index=mylist.index("itheima")
print(index)
index=mylist.index("hello")#报错
print(f"hello在列表中的下标索引值:{index}")
2.列表修改功能:
先用index找到下标i,然后将其对应列表值赋值
语法结构:
列表[下标]=值
示例:
mylist=["itheima","itcast","python"]
index=mylist.index("itheima")
print(index)
mylist[0]="chuanzhi"
print(f"0下标在列表中索引的改变后的值:{mylist[0]}")
3.列表插入功能:
在指定下标插入指定元素
语法结构:
列表.insert(下标,元素),
示例:
mylist=["itheima","itcast","python"]
index=mylist.index("itheima")
print(index)
mylist[0]="chuanzhi"
print(f"0下标在列表中索引的改变后的值:{mylist[0]}")
mylist.insert(1,"best")
print(f"列表插入元素后结果是:{mylist}")
4.追加元素:
将一个元素,追加到列表的尾部
语法结构:
列表.append(元素)
示例:
mylist=["itheima","itcast","python"]
index=mylist.index("itheima")
print(index)
mylist[0]="chuanzhi"
print(f"0下标在列表中索引的改变后的值:{mylist[0]}")
mylist.insert(1,"best")
print(f"列表插入元素后结果是:{mylist}")
mylist.append("我是黑马程序员")
print(f"追加后的结果是:{mylist}")
5.追加元素2
加入一批元素,将另一个容器的内容一一取出,依次追加到列表尾部
语法结构:
列表.extend(其他数据容器)
示例:
mylist=["itheima","itcast","python"]
index=mylist.index("itheima")
print(index)
# index=mylist.index("hello")#报错
# print(f"hello在列表中的下标索引值:{index}")
mylist[0]="chuanzhi"
print(f"0下标在列表中索引的改变后的值:{mylist[0]}")
mylist.insert(1,"best")
print(f"列表插入元素后结果是:{mylist}")
mylist.append("我是黑马程序员")
print(f"追加后的结果是:{mylist}")
mylist2=[1,2,3]
mylist.extend(mylist2)
print(f"列表追加一个列表后的结果是{mylist}")
6删除元素(通过下标):
6.1语法结构1:
del列表[下标]
6.2语法结构2:
列表.pop(下标)
**删去下标的中列表的值,然后返回删除元素
示例:
mylist=["itheima","itcast","python"]
del mylist[2]
print(f"列表删除元素后结果是:{mylist}")
mylist=["itheima","itcast","python"]
element=mylist.pop(1)
print(f"通过pop方法移除取出元素后列表内容:{mylist}取出的元素为:{element}")
输出:通过pop方法移除取出元素后列表内容:['itheima', 'python']取出的元素为:itcast
8.指定元素的内容删除:
删除某元素在列表中的第一个匹配项
语法结构:
列表.remove(元素)
示例:
mylist=["itcast","itheima","itcast","itheima","python"]
mylist.remove("itheima")
print(f"通过remove方法移除元素后,列表的结果是:{mylist}")
输出:通过remove方法移除元素后,列表的结果是:['itcast', 'itcast', 'itheima', 'python']
9.清空列表:
情况列表内容
语法结构:
列表.clear()
示例:
mylist=["itcast","itheima","itcast","itheima","python"]
mylist.remove("itheima")
print(f"通过remove方法移除元素后,列表的结果是:{mylist}")
mylist.clear()
print(f"列表被清空了,结果是{mylist}")
输出:列表被清空了,结果是[]
10统计某元素在列表内的数量
语法结构:
列表.count(元素)
示例:
mylist=["itcast","itheima","itcast","itheima","python"]
count=mylist.count("itheima")
print(f"列表中itheima的数量是:{count}")
输出:列表中itheima的数量是:2
11.统计列表内,有多少元素
可返回一个int型数据。
语法结构:
len(列表)
示例:
mylist=["itcast","itheima","itcast","itheima","python"]
count=len(mylist)
print(f"列表的元素数量总共有:{count}")
输出:列表的元素数量总共有:5
案例练习:
mylist=[21,25,21,23,22,20]
print(f"列表mylist为:{mylist}")
mylist.append(31)
print(f"列表mylist追加一个31后为:{mylist}")
mylist.extend([29,33,30])
print(f"列表mylist追加一个新列表[29,33,30]后为:{mylist}")
qu_chu=mylist.pop(1)
print(f"取出第一个元素后的列表为:{mylist}取出的元素为:{qu_chu}")
qu_chu1=mylist.pop(-1)
print(f"取出最后一个元素后的列表为:{mylist},取出的元素为:{qu_chu1}")
i=mylist.index(31)
print(f"数字31在列表中的下标位置为:{i}")
输出:
列表mylist为:[21, 25, 21, 23, 22, 20]
列表mylist追加一个31后为:[21, 25, 21, 23, 22, 20, 31]
列表mylist追加一个新列表[29,33,30]后为:[21, 25, 21, 23, 22, 20, 31, 29, 33, 30]
取出第一个元素后的列表为:[21, 21, 23, 22, 20, 31, 29, 33, 30]取出的元素为:25
取出最后一个元素后的列表为:[21, 21, 23, 22, 20, 31, 29, 33],取出的元素为:30
数字31在列表中的下标位置为:5
列表的遍历:
将元素依次取出处理的行为叫做:遍历,迭代。
对于while和for,不太熟练可以查看这篇博客:
Python学习-day7(range()函数的使用,while循环,for in循环,break,continue,else语句,嵌套循环)_去码头整点薯条0.o?的博客-CSDN博客
while循环:
示例:
def list_while_func():
"""
使用while遍历函数
:return:None
"""
mylist=["南京工程学院","计算机学院","Python"]
#循环控制变量,通过索引控制,默认0
#每循环一次+1
#下标索引量小于列表下标
index=0
while index<len(mylist):
#通过index变量取出对应的下标元素
element=mylist[index]
print(f"列表的元素:{element}")
index+=1
list_while_func()
for循环:
示例:
def list_for_func():
"""
使用for遍历函数
:return:None
"""
mylist = [1,2,3,4,5]
for item in mylist:
element = item
print(f"列表的元素:{element}")
list_for_func()
案例练习:
list1=[1,2,3,4,5,6,7,8,9,10]
mylist=[]
index=0
while index<len(list1):
if list1[index]%2==0:
mylist.append(list1[index])
index+=1
print(f"执行完while循环后的mylist:{mylist}")
mylist.clear()#将mylist清空
for item in list1:
if item%2==0:
mylist.append(item)
print(f"执行完for循环后的mylist:{mylist}")
输出:
执行完while循环后的mylist:[2, 4, 6, 8, 10]
执行完for循环后的mylist:[2, 4, 6, 8, 10]
不积跬步无以至千里,不积小流无以成江海。