我想对列表进行排序,但我希望将其排序,排除第一个元素。
例如:
a = ['T', 4, 2, 1, 3]
现在我希望对列表进行排序,但第一个元素应保留在原位:
a = ['T', 1, 2, 3, 4]
我知道这可以通过使用排序算法来完成,但有一种方法可以做到这一点还是更多 pythonic 方式来做到这一点?
答案 0 :(得分:3)
您可以通过切片分配来执行此操作,其中使用已分类的a
切片替换a
切片:
>>> a = ['T',4,2,1,3]
>>> a[1:] = sorted(a[1:])
>>> a
['T', 1, 2, 3, 4]
答案 1 :(得分:3)
您可以对其进行切片,对尾随切片进行排序并在之后将其连接起来:
>>> a = a[:1] + sorted(a[1:])
>>> a
['T', 1, 2, 3, 4]