按python中的list元素对项目进行排序

时间:2013-07-19 14:59:53

标签: python python-3.x

我有一个txt文件,我需要通过某个元素对信息进行排序。 这将是原始文件

Wheaton,Will,7
Parker,Peter,9
Apple,Adam,1
Jones,Mike,10
Potter,Harry,7

要由第三个元素排序的文件,以便文件读取

Apple,Adam,1
Wheaton,Will,7
Potter,Harry,7
Parker,Peter,9
Jones,Mike,10

我尝试过使用

allItems = []
for i in info:
    data = i.rstrip('\n').split(',')
    allItems.append(data)

allItems.sort(key=lambda x: x[2])

但它没有用。我怎样才能按列表元素组织。 python也会自动按字母顺序排列,或者我必须单独执行

1 个答案:

答案 0 :(得分:3)

您正在比较字符串,因此'1'< '10'< '7'< '9'。将它们转换为int。

with open('info.txt', 'r') as f:
      data = [line.split(',') for line in f]
print(sorted(data, key=lambda x: int(x[2])))