min() max() 是对字典键的运算,若想对字典值进行运算,则可使用zip()先将键值反转过来再进行计算:
prices = {"ACME": 45.23,"AAPL": 612.78,"IBM": 205.55,"HPQ": 37.20,"FB": 10.75}min_price = min(zip(prices.values(), prices.keys()))print(min_price) # (10.75, "FB")max_price = max(zip(prices.values(), prices.keys()))print(max_price) # (612.78, "AAPL")
关于zip()函数:
zip(*iterables) # 参数传入一个或多个可迭代对象,返回一个 zip object# 当传入一个可迭代对象时zip1 = zip([1, 2])print(list(zip1)) # [(1,), (2,)]# 当传入多个可迭代对象时zip2 = zip([1, 2], ["a", "b"], ["*", "/"])print(list(zip2)) # [(1, 'a', '*'), (2, 'b', '/')]# 当传入多个可迭代对象且不是所有的可迭代对象元素个数都相等时,以元素个数最少的可迭代对象为准zip3 = zip("abc", [1, 2], "*")print(list(zip3)) # [('a', 1, '*')]
