c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python嵌套列表 高效管理多维数据

更新时间:2023-12-13

Python嵌套列表的基本使用

在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库绘制了一个五角星。