![Python编程基础与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/854/41309854/b_41309854.jpg)
上QQ阅读APP看书,第一时间看更新
2.2 列表及操作
2.2.1 列表及其创建
在实际开发中,经常需要将一组(不止一个)数据存储起来,以便后边的代码使用。很多高级语言都有数组(array),可以把多个数据连续存储到一起,通过数组下标可以访问数组中的每个元素。需要明确的是,Python中没有数组,但是加入了更加强大的列表。如果把数组看作是一个集装箱,那么Python的列表就是一个工厂的仓库。
从形式上看,列表会将所有的元素都放在一对中括号“[ ]”里面,相邻元素之间用逗号“,”分隔,如下所示:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/52_01.jpg?sign=1739279508-oNOrh3bCEKKozbLDOmpBdvJttstu1QZ9-0-8a336c5092a21a2db5b4264071a89911)
格式中,element1~elementn表示列表中的元素,个数没有限制,只要是Python支持的数据类型就可以。
从内容上看,列表可以存储整数、小数、字符串、列表、元组等任何类型的数据,并且同一个列表中元素的类型也可以不同,例如:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/52_02.jpg?sign=1739279508-3eykN0mtUvfrhBr019w9xBbGjwGtIpSb-0-a1f2f02c77a4ddefd79bb0120460cb6d)
可以看到,列表中同时包含字符串、整数、列表、浮点数这些数据类型。在使用列表时,虽然可以将不同类型的数据放到同一个列表中,但通常情况下同一列表中只放入同一类型的数据,这样可以提高程序的可读性。
在Python中,创建列表的方法可分为以下两种。
(1)使用“[ ]”直接创建列表
使用“[ ]”创建列表后,一般使用“=”将它赋值给某个变量,具体格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/52_03.jpg?sign=1739279508-hMK42b6yVkVutX8l8vXmdo73JtG38sml-0-e485aba12beb78abd5c38855dac297d6)
其中,listname表示变量名,element1~elementn表示列表元素。
【例2-7】 定义合法的列表。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/52_04.jpg?sign=1739279508-4egM6Oi6JRnGAihjUPP3rQxwY2DxL1bc-0-e35feee49e52f3dc3c54e93a43479a58)
例中,emptylist是一个空列表。
(2)使用list()函数创建列表
除了使用“[ ]”创建列表外,Python还提供了一个内置的函数list(),使用它可以将其他数据类型转换为列表类型。
【例2-8】 使用list()函数创建多个列表。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/52_05.jpg?sign=1739279508-17CZGRNoH0A5zp7eJ7lJnfuGbUbfPhlg-0-d2ef7a2601cf9542dfe2fd8ef7d63ed5)
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/53_01.jpg?sign=1739279508-S0SK3AqcJ4r2pBHTPRKphfmD0GWJkTmG-0-1b6fce37c260ff609f0f989f0bc0bfa1)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/53_02.jpg?sign=1739279508-u1Lh6HXUfmD5KozBsKnlPnq55PkM9zhx-0-ee63b8b7949da43ff49acb6f14d41fac)