上节课,我们讲到了列表的切片操作、更改、添加、删除、排序列表项等操作,这节课,我们接着讲解列表的相关内容。
一、循环列表
除了之前我们学过的for循环之外,您还可以通过对enumerate()函数使用for循环来遍历列表索引和项目。
list1 = [1,2,3]
for i,e in enumerate(list1):
list1[i] = e * e
print(list1)
执行结果:
[1,4,9]
二、列表常用方法
我们可以使用dir和help内置函数来查找列表支持的所有函数。
print(dir([]))
print(help([].reverse))
方法 | 描述 |
append() | 在列表末尾添加一个元素 |
copy() | 返回列表的副本 |
count() | 返回指定元素的个数 |
extend() | 将列表(或任何可迭代对象)的元素添加到当前列表的末尾 |
index() | 返回特定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 删除指定位置的元素 |
remove() | 删除指定值的元素 |
reverse() | 反转列表的顺序 |
sort() | 对列表进行排序 |
三、其他内置函数
除了上面提到的列表内置函数外,Python还提供了一些其他内置函数,这些函数将可迭代对象(如列表)作为输入,如下所以:
功能 | 描述 | 例子 | 结果 |
sorted() | 对给定的可迭代对象排序 | sorted([2,1,3]) sorted([2,1,3],recerse=True) | [1,2,3] [3,2,1] |
max() | 返回给定可迭代对象的最大值 | max([2,1,3]) max([“b”,”a”,”c”]) | 3 “c” |
min() | 返回给定可迭代对象的最小值 | min([2,1,3]) min([“b”,”a”,”c”]) | 1 “a” |
sum() | 返回可迭代数字或数字序列(不是字符串)的总和 | sum([2,1,3]) | 6 |
四、二维列表
为了解决更具挑战性的问题,我们需要使用更复杂的数据结构来表示或描述对象。
比如常见的列表,包含多行和多列。这可以在Python中表示为二维列表。
二维列表就是嵌套列表。您可以将内部列表看做常规列表,您所学到的列表的所有操作都可以应用于外部列表。
row1 = [8,1,6]
row2 = [3,5,7]
row3 = [4,9,2]
sudoku = [row1,row2,row3]
print(sudoku)
print(len(sudoku))
执行结果:
[[8, 1, 6], [3, 5, 7], [4, 9, 2]]
3
若要访问二维列表其中的一个内部列表的某一项,需要在第一个索引后面在加一个索引,第一个索引指示要取内部的那个列表,第二个索引指示第一个索引对应的内部列表的内部元素。
print(sudoku[2])
print(sudoku[2][1])
[4, 9, 2]
9
倘若要循环访问内部列表,可以使用嵌套的for循环来访问它们。
row1 = [8,1,6]
row2 = [3,5,7]
row3 = [4,9,2]
sudoku = [row1,row2,row3]
for rows in sudoku:
print(rows)
for row_index,row in enumerate(sudoku):
for column_index,value in enumerate(row):
print(row_index,column_index,value)
[8, 1, 6]
[3, 5, 7]
[4, 9, 2]
0 0 8
0 1 1
0 2 6
1 0 3
1 1 5
1 2 7
2 0 4
2 1 9
2 2 2
叮当学习力:数理逻辑思维课
点图或扫码领0元课
更多课程