没有numpy的多维列表切片

时间:2019-10-09 11:31:57

标签: python slice

尝试对尺寸为(3 X 3)=的2D列表进行切片,导致4个(2 X 2)的子列表[没有numpy和其他可能的库]

lis = [[1,1,1],[2,2,2],[3,3,3]]
print(lis)

dex = list([])

for i in range(0,2):
    for j in range(0,2):
        dex.append( [ lis[i:i+2,j:j+2] ] )
#       print( lis[i:i+2,j:j+2] )

预期:

 [ [[1,1][2,2]], [[1,1][2,2]], [[2,2][3,3]], [[2,2][3,3]] ]

getting:TypeError:列表索引必须是整数或切片,而不是元组

1 个答案:

答案 0 :(得分:2)

只需使用列表理解即可获得相同的效果。对于3D列表,您将需要另一个理解。

代替exports.config = { capabilities: { browserName: 'firefox', shardTestFiles: false, 'moz:firefoxOptions': { 'binary': "<your_path>/Mozilla Firefox/firefox.exe" } },

使用[lis[i:i+2,j:j+2]]

其输出为[x[j:j+2] for x in lis[i:i+2]]