列表(list)是Python中非常重要且相当常用的数据类型,英文“list”的中文解释为“一览表,名单,目录,清单”。很多时候,我们需要对大量的数据进行分类、统计、批量组织及处理,list为我们提供了一个非常便利的处理方法。
1 list数据的创建
比如,要记录某班级学生的数学成绩:99、78、65、95、86、64等,共45人,难道我们要定义45个变量吗?
maths1 = 99
maths2 = 78
maths3 = 65
... ...
还得45个变量存储语文成绩:
chinese1 = 87
chinese2 = 66
chinese3 = 93
... ...
另外,还需要45个变量存储他们的姓名:
name1 = "小王"
name2 = "小李"
name3 = "小明"
... ...
若要计算数学的平均成绩呢?
avg_maths = (maths1 + maths2 + maths3 + ... + maths45) / 45
然后,若需要把所有学生的成绩打印输出呢?
print(f'{name1}:{maths1} {chinese1}')
print(f'{name2}:{maths2} {chinese2}')
print(f'{name3}:{maths3} {chinese3}')
... ...
可以看得出,这是一件非常繁琐、工作量非常大的工作,而且这才仅仅45组数,要是成千、上万,甚至更海量的数据呢?光变量的定义都得把人给累死了,而且还容易出错,显然我们需要更高效的、批量的数据组织方式和处理手段,我们来看看list类型数据的创建和组织方式。
names = ["小王", "小李", "小明"]
maths = [99, 78, 65]
chinese = [87, 66, 93]
print(names)
print(maths)
print(chinese)
# 运行结果如下所示:
['小王', '小李', '小明']
[99, 78, 65]
[87, 66, 93]
如上述代码,无论多少组数据(上述代码仅以3个学生为例),我们仅需要names、maths及chinese这三个list变量就可以了,分别用于存储所有学生的姓名、数学成绩及语文成绩。结合上述代码,我们来总结一下list类型数据的创建方法:
- 根据数据组织的方便性需要,规划好数据的分类/分组,确定需要多少个列表(list)类型的变量;
- 用中括号(英文中括号)把同一列表中的数据包括起来;
- 括号内的各个独立的数据用逗号(英文逗号)隔开;
- 对于字符类型的数据,依然需要用单引号或双引号引起来;
- 括号内的数据是有序的。
实际上,list类型非常灵活,同一个列表中存放的数据的类型可以是不一样的,如下所示,在同一个列表中,既可以存放数字类型、字符串类型,甚至还可以嵌套存放列表。
student = ["小王" , 99, 87]
students = [["小王" , 99, 87], ["小李" , 78, 66], ["小明" , 65, 93<