一个非常优雅的方式是使用生成器表达式参数,与创建一个临时列表相比更加高效。

    1. nums = [1, 5, 3, 7]
    2. # 计算nums中各元素的平方和
    3. s = sum(x * x for x in nums)
    4. portfolio = [
    5. {"name": "GOOG", "shares": 50},
    6. {"name": "YHOO", "shares": 75},
    7. {"name": "AOL", "shares": 20},
    8. {"name": "SCOX", "shares": 65}
    9. ]
    10. # 输出字典列表中最小shares值
    11. min_shares = min(p["shares"] for p in portfolio)
    12. print(min_shares) # 20
    13. # 输出字典列表中最小shares对应字典记录
    14. min_portfolio = min(portfolio, key=lambda p: p["shares"])
    15. print(min_portfolio) # {"name": "AOL", "shares": 20}