python zip 与 dict

zip 实现字典求最大值、最小值、排序等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
>>> prices = {
'ACME': 45.23,
'AAPL': 612.78,
'IBM': 205.55,
'HPQ': 37.20,
'FB': 10.75
}

# dict value min, return v, k
>>> min(zip(prices.values(), prices.keys()))
(10.75, 'FB')

# dict value min max, return v, k
>>> min(zip(prices.values(), prices.keys()))
(10.75, 'FB')

# sorted by dict value
>>> sorted(zip(prices.values(), prices.keys()))
[(10.75, 'FB'), (37.2, 'HPQ'), (45.23, 'ACME'), (205.55, 'IBM'), (612.78, 'AAPL')]

注:zip() 函数创建的是一个迭代器,只能访问一次。

# 在计算操作中使用到了 (值,键) 对。
# 当多个实体拥有相同的值的时候,键会决定返回结果。
# 比如,在执行 min() 和 max() 操作的时候,如果恰巧最小或最大值有重复的,那么拥有最小或最大键的实体会返回
>>> prices = { 'AAA' : 45.23, 'ZZZ': 45.23 }
>>> min(zip(prices.values(), prices.keys()))
(45.23, 'AAA')
>>> max(zip(prices.values(), prices.keys()))
(45.23, 'ZZZ')
-------------本文结束感谢您的阅读-------------