Python 为什么我不能按新列表排序打印结果?

Python 为什么我不能按新列表排序打印结果?,python,Python,无法按打印结果的新列表(总分)排序。如何使其按新列表排序,因为当我打印新列表时,它会正确打印出来 new_list = [] for res in results: varv_1 = res[1] varv_2 = res[2] varv_3 = res[3] total = int(varv_1) + int(varv_2) + int(varv_3) new_list.append(total) new_list.sort() print(new_li

无法按打印结果的新列表(总分)排序。如何使其按新列表排序,因为当我打印新列表时,它会正确打印出来

new_list = []
for res in results:
    varv_1 = res[1]
    varv_2 = res[2]
    varv_3 = res[3]
    total = int(varv_1) + int(varv_2) + int(varv_3)
    new_list.append(total)
new_list.sort()
print(new_list)
#Total
打印(“\n结果”) 打印(“**********”)
打印(“{:制作一个包含分数和总数的列表,然后按总数排序

import operator

new_list = sorted([(res[0], sum(map(int, res[1:4])), *map(int, res[1:4])) for res in results], key=operator.itemgetter(1))

for namn, total, varv_1, varv_2, varv_3 in new_list:
    avrg = round(total / 3 ,2)
    print(f"{namn:<8}{varv_1:<8}{varv_2:<8}{varv_3:<8}{total:<10}{avrg:<10}")
导入操作符
new_list=结果中res的排序([(res[0],sum(map(int,res[1:4]),*map(int,res[1:4]),key=operator.itemgetter(1))
对于新列表中的namn、total、varv_1、varv_2、varv_3:
avrg=四舍五入(总计/3,2)

print(f{namn:这不起作用,它给了我:TypeError:不支持+:'int'和'str'的操作数类型。@barmarI已将其更改为在求和之前转换为int。
import operator

new_list = sorted([(res[0], sum(map(int, res[1:4])), *map(int, res[1:4])) for res in results], key=operator.itemgetter(1))

for namn, total, varv_1, varv_2, varv_3 in new_list:
    avrg = round(total / 3 ,2)
    print(f"{namn:<8}{varv_1:<8}{varv_2:<8}{varv_3:<8}{total:<10}{avrg:<10}")