簡體   English   中英

Python:查找字典元組值的最大值

[英]Python: Finding max of a dictionaries tupled-value

如何找到存儲在字典中的並行比較的幾個元組的最大值。

d = {'one':(2,9,6), 'two':(7,2,1), 'three':(1,5,12)}

因此,“壓縮”元組(2,9,6),(7,2,1)和(1,5,12)產生最大值,即(7,9,12)。

請幫忙指教。

(因數字混亂而編輯)

從您的問題中我不確定您要尋找的是什么,但是zip部分使我認為這是您想要的:

d = {'one':(1,2,3), 'two':(3,2,1), 'three':(4,5,6)}
tuple(max(x) for x in zip(*d.values()))

實際上,這將這些元組壓縮在一起(第一個元組的第一個元素與第二個元組的第一個元素,依此類推),然后為這些壓縮后的元組中的每個找到最大值。

d = {'one':(2,9,6), 'two':(7,2,1), 'three':(1,5,12)}
tuple(map(max, *d.values()))

$ python -m timeit -s"d = {'one':(2,9,6), 'two':(7,2,1), 'three':(1,5,12)}"\
                     "tuple(map(max, *d.values()))"
1000000 loops, best of 3: 1.08 usec per loop
$ python -m timeit -s"d = {'one':(2,9,6), 'two':(7,2,1), 'three':(1,5,12)}"\
                     "tuple(max(x) for x in zip(*d.values()))"
100000 loops, best of 3: 2.1 usec per loop

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM