sorted无法根据字典中的值排序怎么修改

报错是TypeError: '<' not supported between instances of 'str' and 'list'
实在不知道怎么修改了,请大家指教。
以及sorted对数字排序最后输出是100在最后是为什么呢(100为最大值的时候,输出是99在第一个)

```python
f=open('name_score.txt','r')
for line in f.readlines():
line=line.strip('\n')#去掉换行符
k=line.split(' ')[0]#设定key
v=str(int(line.split(' ')[1]))#设定值
dic[k]=v
list1= sorted(dic.items(),key=lambda x:x[1],reverse=True)
print(list1)

```?
谢谢!

TypeError: '<' not supported between instances of 'str' and 'list'
这个错误是说你排序的元素中有的是字符串str,有的是列表list
字符串str不能与列表list比较,不过你这个代码应该不会出这个错误啊


你x[1]是字符串,是按照字符编码比较排序的。字符串“100”会小于“2”
应该是转成数值再比较
list1= sorted(dic.items(),key=lambda x:int(x[1]),reverse=True)