min() max() 是对字典键的运算,若想对字典值进行运算,则可使用zip()先将键值反转过来再进行计算:

    1. prices = {
    2. "ACME": 45.23,
    3. "AAPL": 612.78,
    4. "IBM": 205.55,
    5. "HPQ": 37.20,
    6. "FB": 10.75
    7. }
    8. min_price = min(zip(prices.values(), prices.keys()))
    9. print(min_price) # (10.75, "FB")
    10. max_price = max(zip(prices.values(), prices.keys()))
    11. print(max_price) # (612.78, "AAPL")

    关于zip()函数:

    1. zip(*iterables) # 参数传入一个或多个可迭代对象,返回一个 zip object
    2. # 当传入一个可迭代对象时
    3. zip1 = zip([1, 2])
    4. print(list(zip1)) # [(1,), (2,)]
    5. # 当传入多个可迭代对象时
    6. zip2 = zip([1, 2], ["a", "b"], ["*", "/"])
    7. print(list(zip2)) # [(1, 'a', '*'), (2, 'b', '/')]
    8. # 当传入多个可迭代对象且不是所有的可迭代对象元素个数都相等时,以元素个数最少的可迭代对象为准
    9. zip3 = zip("abc", [1, 2], "*")
    10. print(list(zip3)) # [('a', 1, '*')]