2024-04-26 06:39:43 发布
网友
假设我有一个字典,其中的键映射到整数,例如:
d = {'key1': 1,'key2': 14,'key3': 47}
在这种情况下,是否有语法上最小的方法返回d-即62中的值之和?
d
62
如你所料:
sum(d.values())
在Python 2中,可以通过使用itervalues()dictionary方法避免对所有值进行临时复制,该方法返回字典键的迭代器:
itervalues()
sum(d.itervalues())
在Python 3中,您只需使用d.values(),因为该方法已被更改为这样做(并且itervalues()已被删除,因为不再需要它)。
d.values()
为了更容易编写与版本无关的代码,该代码总是在字典键的值上迭代,实用程序函数可能会有帮助:
import sys def itervalues(d): return iter(getattr(d, ('itervalues', 'values')[sys.version_info[0]>2])()) sum(itervalues(d))
这基本上就是Benjamin Peterson的^{}模块所做的。
当然有。这是一种对字典的值求和的方法。
>>> d = {'key1':1,'key2':14,'key3':47} >>> sum(d.values()) 62
如你所料:
在Python 2中,可以通过使用
itervalues()
dictionary方法避免对所有值进行临时复制,该方法返回字典键的迭代器:在Python 3中,您只需使用
d.values()
,因为该方法已被更改为这样做(并且itervalues()
已被删除,因为不再需要它)。为了更容易编写与版本无关的代码,该代码总是在字典键的值上迭代,实用程序函数可能会有帮助:
这基本上就是Benjamin Peterson的^{} 模块所做的。
当然有。这是一种对字典的值求和的方法。
相关问题 更多 >
编程相关推荐