Python求人员最低分报str与int不支持'<'错误如何解决
问题解决说明
报错原因
- 嵌套循环遍历了每个子列表的全部元素,子列表第一个元素为字符串类型的人名,字符串与整数无法直接做大小比较,因此触发类型错误。
- 额外注意:不要使用
list作为变量名,list是Python内置类型名,覆盖后会导致后续无法正常调用list()构造方法。
修复代码方案
方案1:保留原有循环逻辑,仅取分数字段比较
score_list = [['Radhe',99],['Bajrangi',98],['Ram',95],['Shyam',94],['Bharat',89]] min_score = score_list[0][1] for x in score_list: # 直接取索引为1的分数字段,跳过姓名字段 if x[1] < min_score: min_score = x[1] print(min_score)
方案2:使用Python内置min函数简化实现
score_list = [['Radhe',99],['Bajrangi',98],['Ram',95],['Shyam',94],['Bharat',89]] min_score = min(item[1] for item in score_list) print(min_score)
两种方案运行后均可得到正确的最低分结果89。
内容的提问来源于stack exchange,提问作者dubey
相关产品推荐
相关产品推荐

