python中的数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素,每一个元素,可以是任意类型的数据,如字符串,数字,布尔等。
数据容器根据特点不同,如:
分为5类,分别是:列表(list),元组(tuple),字符串(str),集合(set),字典(dict)
#字面量
[元素1,元素2,元素3,元素4,........]
#定义变量
变量名称 = [元素1,元素2,元素3,元素4,......]
#定义空列表
变量名称 = [ ]
变量名称 = list()
name_list = ["itheima",666,True]
print(name_list)
print(type(name_list))
my_list = [[1,2,3],[4,5,6]]
print(my_list)
print(type(my_list))
name_list = ['tom',666,True]
#正向索引 正向索引从0开始
print(name_list[0])
print(name_list[1])
print(name_list[2])
#反向索引 反向索引从-1开始
print(name_list[-1])
print(name_list[-2])
print(name_list[-3])
#取出嵌套列表的元素
my_list = [[1,2,3],[4,5,6]]
print(my_list[0][1])
print(my_list[1][2])
功能:查找指定元素在列表的下标,如果找不到,报错ValueError
语法:列表.index(元素) index就是列表对象内置的方法
#查找某元素在列表中的下标索引
mylist = ["itcast","itheima","python"]
index = mylist.index("python")
print(f"python在列表中的下标索引值是:{index}")
#如果查找的元素不存在,会报错
index = mylist.index("py")
print(f"python在列表中的下标索引值是:{index}")
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素
mylist = ["itcast","itheima","python"]
mylist.insert(2,"ppt")
print(f"列表插入元素值后,结果是:{mylist}")
语法1:列表.append(元素),将指定元素,追加到列表的尾部
语法2:列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部
mylist = ["itcast","itheima","python"]
mylist.append("ppt")
print(f"列表追加元素值后,结果是:{mylist}")
mylist = ["itcast","itheima","python"]
mylist2 = [1,2,3]
mylist.extend(mylist2)
print(f"列表追加元素值后,结果是:{mylist}")
语法1:del 列表[下标] 仅能删除元素
语法2:列表.pop(下标) 删除元素之后,还能把删掉的元素作为返回值去得到
mylist = ["itcast","itheima","python"]
del mylist[0]
print(f"列表删减元素值后,结果是:{mylist}")
element = mylist.pop(0)
print(f"通过pop方法取出元素后列表内容:{mylist},取出的元素是{element}")
语法:列表.remove(元素)
mylist = ["itcast","itheima","itheima","python"]
mylist.remove("itheima")
print(f"列表删减元素值后,结果是:{mylist}")
语法:列表.clear()
mylist = ["itcast","itheima","itheima","python"]
mylist.clear()
print(f"列表被清空后,结果是:{mylist}")
修改特定位置(索引)的元素值:语法:列表[下标] = 值 可以使用如上语法,直接对指定下标(正向,反向下标均可)的值进行:重新赋值(修改)
mylist = ["itcast","itheima","python"]
mylist[2] = "ppt"
print(f"列表在修改元素值后,结果是:{mylist}")
语法:列表.count(元素)
mylist = ["itcast","itheima","itheima","python"]
num = mylist.count("itheima")
print(f"列表中“itheima”的个数是:{num}")
语法:len(列表) 可以得到一个int数字,表示列表内的元素数量
mylist = ["itcast","itheima","itheima","python"]
num = len (mylist)
print(f"列表中元素的个数是:{num}")
age = [21,25,21,23,22,20]
age.append(31)
print(f"追加一个数字31,到列表的尾部{age}")
age.extend([29,30,31])
print(f"增加一个新列表到原列表的尾部{age}")
#从列表中取出第一个元素
num1 = age[0]
print (f"从列表中取出的第一个元素,应该是21,实际上是{num1}")
#从列表中取出最后一个元素 用-1,因为上次删减完之后正向不确定
num2 =age[-1]
num = age.index(31)
print(f"元素31,在列表中的下标位置是:{num}")
print(f"最终列表的内容是{age}")
既然数据容器可以存储多个元素,那么,就会有需求从容器内依次取出元素进行操作。将容器内的元素依次取出进行处理的行为,称之为:遍历,迭代
index = 0
while index < len(列表):
元素 = 列表[index]
对元素进行处理
index += 1
def list_while_func():
my_list = ["python","java","c语言","c++"]
index = 0
while index < len(my_list):
#通过index变量取出对应下标的元素
element = my_list[index]
print (f"列表的元素:{element}")
index += 1
list_while_func()
基础语法:
for 临时变量 in 数据容器:
对临时变量进行处理
表示,从容器内,依次取出元素并赋值到临时变量上,在每一次的循环中,我们可以对临时变量(元素)进行处理
def list_for_func():
my_list = [1,2,3,4,5]
for x in my_list:
print(f"列表的元素有:{x}")
list_for_func()
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list1 = []
index = 0
while index < len(my_list):
element = my_list[index]
if element%2 == 0:
my_list1.append(element)
index += 1
print(f"新的列表是:{my_list1}")
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list1 = []
for element in my_list :
if element%2 == 0:
my_list1.append(element)
print(f"新的列表是:{my_list1}")