![Python王者归来](https://wfqqreader-1252317822.image.myqcloud.com/cover/412/31794412/b_31794412.jpg)
上QQ阅读APP看书,第一时间看更新
6-7 列表内含列表
列表内含列表的基本格式如下:
num = [1, 2, 3, 4, 5, [6, 7, 8]]
对上述而言,num是一个列表,在这个列表内有另一个列表[7, 8, 9],因为内部列表的索引值是5,所以可以用num[5],获得这个元素列表的内容。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P76_45386.jpg?sign=1739500478-nktYZuuDBLpdNmccKZt9NaBfLpNzXsrG-0-a0f8f04d88e5115b2a1bfac3de47aef3)
如果想要存取列表内的列表元素,可以使用下列格式:
num[索引1][索引2]
索引1是元素列表原先索引位置,索引2是元素列表内部的索引。
实例1:列出列表内的列表元素值。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P77_45807.jpg?sign=1739500478-DRr1XnCM23ZFSZQrx94g3lTIRnL5EHMQ-0-7c8b05b669e67c539bb8b05a6a846e9a)
列表内含列表主要应用是,例如,可以用这个资料格式存储NBA球员Lebron James的数据如下所示:
James = [[‘Lebron James', ‘SF','12/30/1984'], 23, 19, 22, 31, 18]
其中第一个元素是列表,用于存储Lebron James个人资料,其他则是存储每场得分数据。
程序实例ch6_32.py:扩充ch6_30.py;先列出Lebron James个人资料;再计算哪一个场次得到最高分。程序第2行,SF全名是Small Forward(小前锋)。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P77_45810.jpg?sign=1739500478-ITwcYnOrM9dlhuf3AxiMZmWCEUZJMqws-0-5078d165315591b2a423cfc0c75d47a1)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P77_45816.jpg?sign=1739500478-gWBYk7DHcOOsCjFtkCDXobZDV1MY8hvb-0-b965b53614174669b3c1bb975f335c33)
6-7-1 再谈append( )
在6-4-1节我们有提过可以使用append( )方法,将元素插入列表的末端,其实也可以使用append( )函数将某一列表插入另一列表的末端,方法与插入元素方式相同,这时就会产生列表中有列表的效果。它的使用格式如下:
列表A.append(列表B)# 列表B将接在列表A末端
程序实例ch6_33.py:使用append( )将列表插入另一列表的末端。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P77_45820.jpg?sign=1739500478-IAGDat17u9HMqcLZbGiMbwUyGhodn5mI-0-cdb5d8e8035285ec2e7a6d68f0ed69b9)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P78_46230.jpg?sign=1739500478-tPbGJQuW87q1Q7Bz2EEhkuLyQwl2jpzC-0-3ad55c76070ba153c0a135993229d580)
6-7-2 extend( )
这也是2个列表连接的方法,与append( )类似,不过这个方法只适用2个列表连接,不能用在一般元素。同时在连接后,extend( )会将列表分解成元素,一一插入列表。它的使用格式如下:
列表A.extend(列表B)# 列表B将分解成元素插入列表A末端
程序实例ch6_34.py:使用extend( )方法取代ch6_32.py,并观察执行结果。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P78_46234.jpg?sign=1739500478-h26j8kuKCMCq8a2iwudm1RcGXSGI0xUu-0-ebf93b2c882b3c06f9f3977a1bc65985)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P78_46240.jpg?sign=1739500478-hNayg6LfZRX8lYhwATeUmUAcwrGeM6iO-0-73b8fa8959190f790b6a0d866392aedc)
上述执行后cars1将是含有5个元素的列表,每个元素皆是字符串。