Python从列表的特定索引创建列表
我有一个包含多个列表的大列表,我想从这个大列表中的特定位置创建几个小列表。如果我有这个大的“矩阵”,我能不能从中提取一些整数,组成一个小列表呢?
代码:
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] ]
希望这能帮到你。