python字典推导式

#已知有 scores = {'Reuven': [300, 250, 350, 400], 'Shikma':[250, 380, 420, 120], 'Amotz':[100, 120, 150, 180]}。使用字典推导式构造选手为键、平均分为值的字典。

{key: sum(scores[key])/len(scores[key]) for key in scores.keys()}

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7679775
  • 你也可以参考下这篇文章:python蓝桥杯准备
  • 你还可以看下python参考手册中的 python- 列表推导式
  • 除此之外, 这篇博客: Python中的 字典推导式 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 创建一个字典:字典key是1-5数字,value是这个数字的2次方。

    dict1 = {i: i**2 for i in range(1, 5)}
    print(dict1) # {1: 1, 2: 4, 3: 9, 4: 16}
    

    将两个列表合并为一个字典

    list1 = ['name', 'age', 'gender']
    list2 = ['Tom', 20, 'man']
    dict1 = {list1[i]: list2[i] for i in range(len(list1))}
    

    提取字典中目标数据

    counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
    # 需求:提取上述电脑数量大于等于200的字典数据
    count1 = {key: value for key, value in counts.items() if value >= 200}
    print(count1) # {'MBP': 268, 'DELL': 201}
    
  • 您还可以看一下 程序员研修院老师的Python零基础入门课程中的 字典小节, 巩固相关知识点