2011-08-02 48 views

回答

12
lst = lst[0:1] + sorted(lst[1:]) 
0

您可以使用下面的代碼:

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) 
+0

這是不是很糟糕?它拋出異常嗎?這是不是在做什麼期望? –

+0

想要猜測OP的一切內容可能意味着很難,而不是要求OP更清楚,因爲您應該:) –

+0

謝謝@Karl。 –

7
lst = [5, 3, 5, 1, 4, 7] 
lst[1:] = sorted(lst[1:]) 
print(lst) # prints [5, 1, 3, 4, 5, 7] 
1
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] 
0

它的最好之內做到這一點切片。

>>> lst = [5, 3, 5, 1, 4, 7] 
>>> lst[1:]=sorted(lst[1:]) 
>>> lst 
[5, 1, 3, 4, 5, 7] 
相關問題