[英]Find smallest number in list of lists
我有以下數據集:
data =
{
a:[1,2,3]
b:[3,4,5]
c:[5,6,7]
...
}
我正在嘗試從所有列表的索引1中找到最小的數字。
我能想象的唯一方法是:
num = []
index_number = 1
for var in data:
num.append(data.get(var)[index_number])
return min(num)
但是我認為這不是一個很好的解決方案。
另外,我還必須找到與我剛剛找到的值相對應的鍵。
有我不知道的好的解決方案嗎?
data = {'a': [1, 2, 3], 'b': [3, 4, 5], 'c': [5, 6, 7]}
min_key = min(data,key=lambda key:min(data[key]))
這告訴python您想要數據字典的“最小”值,我們將使用每個鍵值的最小值作為比較鍵來查找最小值
一個簡單的理解就可以解決問題:
>>> data = {'a': [1, 2, 3], 'b': [3, 4, 5], 'c': [5, 6, 7]}
>>> index_number = 1
>>> min(((k, v[1]) for k, v in data.items()), key=lambda x: x[1])
('a', 2)
如果僅需要最小值,則可以使用更簡單的方法
>>> data = {'a': [1, 2, 3], 'b': [3, 4, 5], 'c': [5, 6, 7]}
>>> index = 1
>>> min(v[index] for v in data.values())
2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.