一个非常优雅的方式是使用生成器表达式参数,与创建一个临时列表相比更加高效。
nums = [1, 5, 3, 7]# 计算nums中各元素的平方和s = sum(x * x for x in nums)portfolio = [{"name": "GOOG", "shares": 50},{"name": "YHOO", "shares": 75},{"name": "AOL", "shares": 20},{"name": "SCOX", "shares": 65}]# 输出字典列表中最小shares值min_shares = min(p["shares"] for p in portfolio)print(min_shares) # 20# 输出字典列表中最小shares对应字典记录min_portfolio = min(portfolio, key=lambda p: p["shares"])print(min_portfolio) # {"name": "AOL", "shares": 20}
