You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何反转嵌套列表中的每个元素?已尝试reversed与[::-1]无效

解决嵌套列表的元素反转问题

你当前用list1[::-1]或reversed(list1)只能反转整个外层列表的元素顺序,但不会处理其中的子列表内容。要得到目标输出,需要同时反转外层列表顺序,并且反转每个子列表的内部元素。

可以用列表推导式一步实现:

list1 = [1, 2, 3, [4, 5, 6], 6, 7, [8, 9, 10]]
# 先反转外层列表,再对每个元素判断:是子列表则反转内部,否则保留原元素
result = [item[::-1] if isinstance(item, list) else item for item in list1[::-1]]
print(result)

运行后会得到你想要的输出:

[[10, 9, 8], 7, 6, [6, 5, 4], 3, 2, 1]

代码说明

  • list1[::-1]:先将整个外层列表反转,得到[[8,9,10],7,6,[4,5,6],3,2,1]
  • 列表推导式遍历反转后的外层列表,对每个元素做判断:
    • 若元素是列表(通过isinstance(item, list)判定),则用item[::-1]反转其内部元素
    • 若非列表元素,直接保留原值

如果你觉得列表推导式不够直观,也可以分两步写:

list1 = [1, 2, 3, [4, 5, 6], 6, 7, [8, 9, 10]]
# 第一步:反转外层列表
reversed_outer = list1[::-1]
# 第二步:逐个处理子列表
final_result = []
for item in reversed_outer:
    if isinstance(item, list):
        final_result.append(item[::-1])
    else:
        final_result.append(item)
print(final_result)

内容的提问来源于stack exchange,提问作者Krishna Mandal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 02:02:22