Python从列表的特定索引创建列表

1 投票
4 回答
4975 浏览
提问于 2025-04-17 09:19

我有一个包含多个列表的大列表,我想从这个大列表中的特定位置创建几个小列表。如果我有这个大的“矩阵”,我能不能从中提取一些整数,组成一个小列表呢?

代码:

matrix = [
    [0, 0, 0, 5, 0, 0, 0, 0, 6],
    [8, 0, 0, 0, 4, 7, 5, 0, 3],
    [0, 5, 0, 0, 0, 3, 0, 0, 0],
    [0, 7, 0, 8, 0, 0, 0, 0, 9],
    [0, 0, 0, 0, 1, 0, 0, 0, 0],
    [9, 0, 0, 0, 0, 4, 0, 2, 0],
    [0, 0, 0, 9, 0, 0, 0, 1, 0],
    [7, 0, 8, 3, 2, 0, 0, 0, 5],
    [3, 0, 0, 0, 0, 8, 0, 0, 0],
    ]
list1 = ([index 1, row 1], [index 2, row 2])
list2 = ([index 3, row 6], [index 7, row 9])
etc.

我该如何在Python中正确地做到这一点呢?请帮我填一下括号里应该放什么。

谢谢!

4 个回答

2

这里其实是一个列表的列表。你可以通过以下方式来访问列表中的项目:

listname[index]

所以……

matrix[0] 会给你 [0, 0, 0, 5, 0, 0, 0, 0, 6]

matrix[0][0] 会给你 0……也就是说,这是第一个列表中的第一个元素。

记住,任何列表的“第一个”元素其实是第零个元素。所以 matrix[1] 会给你列表中的“第二个”东西。

list1 = [matrix[1][1], matrix[2][2]]
list2 = [matrix[6][3], matrix[9][7]]

还有一点建议,可以帮助你提问得更好……你给出的例子是列表,但你的例子中用括号括起来的项目其实是元组。列表是用方括号表示的。[]

4
list1 = [matrix[1][1], matrix[2][2]]
list2 = [matrix[6][3], matrix[9][7]]

等等...

4

如果 index1 代表第一个索引,row1 代表第一行,那么在这种情况下,matrix[0][0] = 0。
matrix[1][0] = 8
matrix[1][5] = 7

总的来说,你可以用 matrix[row_index][col_index] 这样的方式来访问数据。

所以

list1 = [ matrix[0,0], matrix[2][2] ]

希望这能帮到你。

撰写回答