【发布时间】:2013-08-15 20:40:19
【问题描述】:
我有以下清单:
list = [[1, 2], [3, 4], [5, 6]]
如何反转每个子列表?即
list = [[2, 1], [4, 3], [6, 5]]
【问题讨论】:
-
不要命名变量
list;它会隐藏内置类型。
我有以下清单:
list = [[1, 2], [3, 4], [5, 6]]
如何反转每个子列表?即
list = [[2, 1], [4, 3], [6, 5]]
【问题讨论】:
list;它会隐藏内置类型。
使用列表推导:
[sublist[::-1] for sublist in outerlist]
演示:
>>> outerlist = [[1, 2], [3, 4], [5, 6]]
>>> [sublist[::-1] for sublist in outerlist]
[[2, 1], [4, 3], [6, 5]]
这会产生一个新 列表。您还可以通过在循环中对每个子列表调用 list.reverse() 方法来反转子列表:
for sublist in outerlist:
sublist.reverse()
【讨论】:
理解和切片语法很棒,但是如果您希望结果发生在相同的外部列表中,我建议这可能更具可读性:
for elem in outerlist:
elem.reverse()
【讨论】: