我有一个多维列表,它基本上是嵌套在列表中的字符串列表。我希望一个列表被反转,并且列表中的列表项也要反转,并且列表中的字符串也应该被反转。
例如:我有一个清单
[
['123', '456', '789'],
['234', '567', '890'],
['345', '678', '901']
]
我希望结果是
[
['109', '876', '543'],
['098', '765', '432'],
['987', '654', '321']
]
我已经尝试过该代码,它正在工作。但是我们可以使用列表理解来进一步简化。
下面是我尝试过的代码。
old = [['123', '456', '789'], ['234', '567', '890'], ['345', '678', '901']]
new = [];
for x in old[::-1]:
z = [];
for y in x:
z.insert(0, y[::-1])
new.append(z)
print(new)
输入值
[['123', '456', '789'], ['234', '567', '890'], ['345', '678', '901']]
输出量
[['109', '876', '543'], ['098', '765', '432'], ['987', '654', '321']]
您想要这种单线:
result = [[x[::-1] for x in reversed(y)] for y in reversed(lst)]
笔记:
reversed(lst)
它比lst[::-1]
不创建新列表要快,它只是向后迭代(在这种情况下,因为长度已知,所以可以工作)。x[::-1]
之所以保留原样,是因为它比"".join(reversed(x))
将字符串反向转换为字符串要快得多。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句