Python嵌套列表 高效管理多维数据
更新时间:2023-12-13Python嵌套列表的基本使用
在Python中,可以使用列表来存储一组有序的数据,而且每个元素的数据类型可以不一样。而嵌套列表则是指列表中的元素也是一个列表,也就是说,一个列表可以包含多个列表。
parent_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(parent_list)
# Output: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
上面的示例中,我们创建了一个嵌套列表,并将其赋值给变量parent_list。可以看出,parent_list包含了三个子列表,每个子列表都包括三个元素。
嵌套列表的操作
与普通列表一样,嵌套列表也可以进行各种类型的操作,例如获取元素、添加元素、删除元素、修改元素等。下面是一些常见的操作示例。
获取单个元素
parent_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
element = parent_list[1][2]
print(element)
# Output: 6
上面的示例中,我们获取了parent_list的第二个子列表(索引为1),然后获取了该子列表的第三个元素(索引为2)。
添加元素
parent_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
parent_list.append([10, 11, 12])
print(parent_list)
# Output: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
上面的示例中,我们向parent_list中添加了一个新的子列表。
删除元素
parent_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
del parent_list[2]
print(parent_list)
# Output: [[1, 2, 3], [4, 5, 6]]
上面的示例中,我们删除了parent_list的第三个子列表(索引为2)。
修改元素
parent_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
parent_list[1][2] = 100
print(parent_list)
# Output: [[1, 2, 3], [4, 5, 100], [7, 8, 9]]
上面的示例中,我们将parent_list的第二个子列表(索引为1)的第三个元素(索引为2)修改为100。
嵌套列表的高级应用
嵌套列表在Python中具有广泛的应用,尤其是在多维数据操作、数据处理和图形绘制等方面。下面是一些嵌套列表的高级应用。
多维数组
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)
# Output: [[1 2 3]
# [4 5 6]
# [7 8 9]]
上面的示例中,我们使用NumPy库创建了一个2维数组,并将其赋值给变量arr。
树形结构
class Node:
def __init__(self, value):
self.value = value
self.children = []
root = Node(1)
root.children.append(Node(2))
root.children.append(Node(3))
root.children[0].children.append(Node(4))
root.children[0].children.append(Node(5))
root.children[1].children.append(Node(6))
root.children[1].children.append(Node(7))
# Output: 1 2 4 5 3 6 7
def traverse(node):
print(node.value, end=' ')
for child in node.children:
traverse(child)
traverse(root)
上面的示例中,我们通过Node类来创建一个树形结构,并使用深度优先遍历来遍历整个树形结构。
图形绘制
import turtle
def draw_star(t, size):
for i in range(5):
t.forward(size)
t.right(144)
t = turtle.Turtle()
t.color('yellow')
t.begin_fill()
draw_star(t, 100)
t.end_fill()
turtle.done()
上面的示例中,我们使用turtle库绘制了一个五角星。