我試圖使用Visual Studio對Python 3中的列表進行排序代碼: 我從命令行中的參數中獲取我的列表。第一個參數被忽略,這是我的針變量。 添加完所有變量後,我想對列表進行排序。 的問題是,它得到一個相當奇怪的方式排序2配備21 python3帶.sort()的列表出錯
後
然後來到後3 5 55比6這是我的命令行:
C:\Users\Gebruikertje\Desktop\Python>python find.py 21 2 3 4 5 6 21 55 3
這是輸出:
['2', '21', '3', '3', '4', '5', '55', '6']
這是代碼IM參照
的部分import sys
finish = len(sys.argv)
needle = sys.argv[1]
haystack = []
for i in range (2,finish):
haystack.append(sys.argv[i])
haystack.sort()
print(haystack)
要排序的字符串(不是整數)的列表,嘗試'haystack.sort (key = lambda x:int(x))'或者只是讓列表整數以 –
開頭這是因爲數字是字符串。用整數嘗試相同的代碼。 – Eduardo
@Chris_Rands嗯...這可能只是'key = int' ... –