我有一个列表 a = [‘L’, ‘N’, ’D’]。我想反转 a 中元素的顺序并得到 b = [’D’, ‘N’, ‘L’]。我试过这个:
a = ['L', 'N', 'D']
b = sorted(a, reverse=True)
但输出是
b= ['N', 'L', 'D']
我在哪里犯了错误?
原文由 m0_as 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个列表 a = [‘L’, ‘N’, ’D’]。我想反转 a 中元素的顺序并得到 b = [’D’, ‘N’, ‘L’]。我试过这个:
a = ['L', 'N', 'D']
b = sorted(a, reverse=True)
但输出是
b= ['N', 'L', 'D']
我在哪里犯了错误?
原文由 m0_as 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想使用 sorted(),你可以指定索引是排序的关键:
b = sorted(a, key=a.index, reverse=True)
原文由 bloodrootfc 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答971 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
您的错误是使用
sorted
,它按元素的顺序重新排列列表并忽略元素曾经所在的位置。而是使用它以相反的顺序贯穿列表
a
。你也可以使用尽管第一个版本更快。