如何将基于sorted函数的for循环转换为常规for循环?
转换后的常规for循环实现
原代码将sorted()的结果直接嵌入for循环的遍历对象中,只需提前把排序后的结果存储到变量里,再用常规for循环遍历即可,核心逻辑完全一致:
原代码
for i in sorted(pdict.items(), key=lambda x:x[1], reverse=True): if(i[1]<rating): print("Jersey number: "+str(i[0])+", Rating: "+str(i[1]))
转换后的代码
# 先执行排序并存储结果 sorted_players = sorted(pdict.items(), key=lambda x: x[1], reverse=True) # 用常规for循环遍历排序后的列表 for item in sorted_players: jersey_num = item[0] player_rating = item[1] if player_rating < rating: # 推荐用f-string优化输出,比字符串拼接更简洁直观 print(f"Jersey number: {jersey_num}, Rating: {player_rating}") # 如果要和原代码输出写法完全一致,可保留原格式: # print("Jersey number: "+str(jersey_num)+", Rating: "+str(player_rating))
转换思路:把原代码中sorted()的执行结果单独提取赋值给变量,后续用普通for循环遍历该变量即可,排序规则、过滤条件和输出逻辑均未改动。
内容的提问来源于stack exchange,提问作者user20577449
相关产品推荐
相关产品推荐

