Python - 索引、比较和追加

Python - Indexing, comparing and appending

我在命名问题的标题时遇到了困难,如您所知。无论如何,将问题置于某种背景下:我有一个 high-scores 文本文件,数据已放入列表中.每个人的分数已经排序,所以他们现在从低到高排序。

data = [['Stuart', 'got', 'a', 'highscore', 'of:', '92'], [ 'Steve', 
         'got', 'a', 'highscore', 'of:', '53'], ['Andrew', 'got', 'a', 
         'highscore', 'of:', '73'], ['Luke', 'got', 'a', 'highscore', 
         'of:', '1'], [ 'Shaney', 'got', 'a', 'highscore', 'of:', '77'], 
        ['Robert', 'got', 'a', 'highscore', 'of:', '33'], ['Moley', 
         'got', 'a', 'highscore', 'of:', '6'], [ 'Kev', 'got', 'a', 
         'highscore', 'of', '2322']]
numbers = [1, 6, 33, 53, 73, 77, 92, 2322]
temp = []

我打算创建一个名为 "temp" 的列表,其中包含 有序数据 。 "ordered data" 将是原始日期,但安排后 ['Luke', 'got', 'a', 'highscore', 'of:', '1'] 将位于 "temp" 列表的开头。

像往常一样,我们将不胜感激任何对我有帮助的反馈。

temp = sorted(data, key= lambda s: int(s[-1]))

我认为这会起作用,但我没有测试它

排序确保转换为 int 或“100000”将排在“2”之前:

 print(sorted(data,key=lambda x:int(x[-1])))

如果您真的想在输出列表中将最后一个条目存储为 int:

temp =  [x[:-1]+[int(x[-1])] for x in sorted(data,key=lambda x:int(x[-1]))]