今天,我遇到了这个dict方法get,它给出了字典中的一个键,返回了相关的值.
这个功能用于什么目的?如果我想找到与字典中的键相关联的值,我可以这样做dict[key],它返回相同的东西:
dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")
Run Code Online (Sandbox Code Playgroud) 是否合法使用items()而不是iteritems()在所有地方使用?为什么iteritems()从Python 3 中删除?看起来像一个了不起的有用的方法.背后的原因是什么?
编辑:为了澄清,我想知道以类似生成器的方式迭代字典的正确习惯用法(一次一个项目,而不是全部到内存中)以与Python 2和Python 3兼容的方式进行迭代?
我正在尝试执行与获取与字典中的最小值对应的键相同的操作 ,其中我们希望获得与字典中的最小值对应的键.
最好的方式似乎是:
min(d, key=d.get)
Run Code Online (Sandbox Code Playgroud)
但是我想在具有多个最小值的字典上应用它:
d = {'a' : 1, 'b' : 2, 'c' : 1}
Run Code Online (Sandbox Code Playgroud)
请注意,上面的答案是:
>>> min(d, key=d.get)
'a'
Run Code Online (Sandbox Code Playgroud)
但是,我需要两个具有最小值的键,即a和c.
什么是最好的方法?
(最终我想随机选择其中一个,但我不认为这是相关的).
假设我有一份水果总词典:
Fruits = {"apple":8, "banana":3, "lemon":5, "pineapple":2,}
Run Code Online (Sandbox Code Playgroud)
我想要输出
["pineapple"]
Run Code Online (Sandbox Code Playgroud)
因为菠萝价值最低.或者,如果我有这个:
Colour = {"blue":5, "green":2, "purple":6, "red":2}
Run Code Online (Sandbox Code Playgroud)
输出将是:
["green","red"]
Run Code Online (Sandbox Code Playgroud)
因为绿色和红色都具有最小的价值.
那么如何在字典中返回最小值?
以前可能有人问过这个问题,但是有人知道在 Python 中实现 argmin 的优雅方法吗?也就是说,给定一个将整数映射到整数的字典 D,我想找到键 k 使得 D[k] 最小化。
例如:
d = {1: 100, 2:200}
argmin(d) = 1
Run Code Online (Sandbox Code Playgroud) 我想dictionary在 Python 中返回 a中最小值的键。key, value 对的值会有几个数字,即dict[current] = (total, gone, heuristic). 如何返回最小消失值的键?
说我有一个像
>>> l = [-10,-10,-10,-20,-10,-10]
Run Code Online (Sandbox Code Playgroud)
鉴于您不知道它是 -20,我想-20在一行或两行中找到位置和数量。有什么想法吗?
我想迭代一个字典的子集来找到子集中的最小值.我可以使用生成器表达式来获取值:
>>> S = {'a', 'c'}
>>> D = {'a': 2, 'b': 0, 'c': 1, 'd': 3}
>>> min(D[k] for k in S)
1
Run Code Online (Sandbox Code Playgroud)
要获得相关的密钥,我想这是可能的:
>>> subset_min = min(D[k] for k in S)
>>> [k for k, v in D.iteritems() if v == subset_min]
['c']
Run Code Online (Sandbox Code Playgroud)
但肯定有一种方法不需要再次搜索字典?我希望像这里min(D, key=D.get)讨论的那样,但在这种情况下我无法看到如何应用它.
假设我们有一个 Python 字典,用于存储与卷号相关的成绩。字典 = {1:90,2:40,3:98}。如果我们使用 min(dict) 那么输出将为 1。我们如何找到组中最少的分数(在本例中为 40)。我们还能找到返回值的索引吗?