假設我有一個列表,如何對列表中的特定範圍的元素進行排序?
lst = [5, 3, 5, 1, 4, 7]
,我想它的第二個元素3月底訂購。
我想我可以做到這一點:
lst[1:].sort()
但是,這是行不通的。
我該怎麼辦?
假設我有一個列表,如何對列表中的特定範圍的元素進行排序?
lst = [5, 3, 5, 1, 4, 7]
,我想它的第二個元素3月底訂購。
我想我可以做到這一點:
lst[1:].sort()
但是,這是行不通的。
我該怎麼辦?
lst = lst[0:1] + sorted(lst[1:])
您可以使用下面的代碼:
lst = [5, 3, 5, 1, 4, 7]
searchValue = 3
def get_sorted(lVals, searchVal=None, startIndex=None):
if startIndex and startIndex < len(lVals):
return lVals[:startIndex] + sorted(lVals[startIndex:])
elif searchVal and searchVal in lVals:
valueIndex = lst.index(searchValue)
return lVals[:valueIndex] + sorted(lVals[valueIndex:])
return sorted(lVals)
lst = [5, 3, 5, 1, 4, 7]
lst[1:] = sorted(lst[1:])
print(lst) # prints [5, 1, 3, 4, 5, 7]
so = lambda x, index: x[:index]+sorted(x[index:])
這麼稱呼它爲如此(LST,1)
In [2]: x = [5, 3, 5, 1, 4, 7]
In [3]: so(lst, 1)
Out[4]: [5, 1, 3, 4, 5, 7]
它的最好之內做到這一點切片。
>>> lst = [5, 3, 5, 1, 4, 7]
>>> lst[1:]=sorted(lst[1:])
>>> lst
[5, 1, 3, 4, 5, 7]
這是不是很糟糕?它拋出異常嗎?這是不是在做什麼期望? –
想要猜測OP的一切內容可能意味着很難,而不是要求OP更清楚,因爲您應該:) –
謝謝@Karl。 –