python - 如何对二维列表进行编号?

标签 python arrays list

我将这些列表放在我想要编号的列表中。我还有两个变量,行和列,作为输入。

lst = row*[column*[0]]

这使得列表中的列表用零填充,因此如果行 = 6 且列 = 10,则它看起来像:

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],    
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],   
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],   
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],  
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],  
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]] 

如何更改它,使其看起来像这样:

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],   
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],     
[21, 22, 23, 24, 25, 26, 27, 28, 29, 30],    
[31, 32, 33, 34, 35, 36, 37, 38, 39, 40],     
[41, 42, 43, 44, 45, 46, 47, 48, 49, 50],     
[51, 52, 53, 54, 55, 56, 57, 58, 59, 60]]

谢谢!

最佳答案

我认为这将是最“Pythonic”的方式:

from pprint import pprint

rows = 6
cols = 10

lst = [[(j*cols+i) for i in range(1,cols+1)] for j in range(rows)]

pprint(lst)

输出:

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
 [21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
 [31, 32, 33, 34, 35, 36, 37, 38, 39, 40],
 [41, 42, 43, 44, 45, 46, 47, 48, 49, 50],
 [51, 52, 53, 54, 55, 56, 57, 58, 59, 60]]

关于python - 如何对二维列表进行编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54917081/

相关文章:

排序列表上的Python排序复杂性

Python:如何编写看起来不错并且可以与 argparse 或 optparse 一起使用的代码?

arrays - "fatal error: Array index out of range swift"

arrays - Delphi如何释放动态实例化按钮数组?

arrays - Openscad 位于数组或等效数组中

python - 使用没有迭代变量的列表理解

python - 用Python预测正弦波

Java数组值被放入错误的数组中

python - 在 python 中的列表中构建列表

javascript - 不同网站上的列表看起来不同