我有一个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也会自动按字母顺序排列,或者我必须单独执行
答案 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])))