社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 3中的字典和循环。十、

Ben • 3 年前 • 1414 次点击  

我们有一个小组成绩记录:

log = {

    'Alex': [3, 7, 11, 10, 8],

    'Ben': [6, 12, 4, 9, 9],

    'Сarla': [5, 10, 7, 5, 9]}

输出“最好的学生X,他有最高分数Y,最低分数Z”

解决方案

我有一本字典,我决定做的第一件事就是转换它,通过挂钩每个学生的最高和最低分数,用新的值替换它。之后,在一个循环中,我只想通过每个学生的最高分数,找到最大平均值,并使用它,返回字典中对应于意思的键。但是发生了一个我无法理解的错误。通过循环后,数据被转换为int,因此无法使用它们。怎么办?

密码

log = {
    'Alex': [3, 7, 11, 10, 8],
    'Ben': [6, 12, 4, 9, 9],
    'Carla': [5, 10, 7, 5, 9]}

log.update({"Alex":[min(log["Alex"])] + [max(log["Alex"])],
                 "Ben":[min(log["Ben"])] + [max(log["Ben"])],
                 "Carla":[min(log["Carla"])] + [max(log["Carla"])]})

for i,j in log.values():
    print(max(i,j)) 

输出

3 11

4 12

5 10

问题是,int对象不是itarible。我想找一对最大的,就是 麦克斯(j) ,我必须通过,但是我怎么能一次返回一对值,而不仅仅是 麦克斯(j) .

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129993
 
1414 次点击  
文章 [ 2 ]  |  最新文章 3 年前