如何在python中使用切片运算符水平翻转列表的行?

问题描述 投票:1回答:1
def matrixflip(myl,c):
   if(c=='v'):
       myl=myl[::-1]
       return myl
   elif(c=='h'):
       myl=myl[::][::-1]
       return myl
   else:
       return myl

myl=[[1, 2], [3, 4]]
print(matrixflip(myl,'h'))

Expected output: [[2,1],[4,3]]

在上面的代码中,我调用matrixflip()函数来翻转列的行/通过将第二个参数作为'h'水平翻转2d矩阵。但是,我仍然得到垂直翻转版本。

python-3.x list matrix 2d slice
1个回答
0
投票

您需要撤消每个子列表。最简单的方法是使用列表推导表达式:

result = [x[::-1] for x in myl]
© www.soinside.com 2019 - 2024. All rights reserved.