将所有字典元素设置为0 python

时间:2016-02-16 22:28:22

标签: python python-3.x dictionary

我的字典中有数字:

{1:10, 2:5, 3:18, 4:0, 5:1}

我想知道的是,如何在不更改每个元素的情况下将所有这些值设置为零?所以它会像:

{1:0, 2:0, 3:0, 4:0, 5:0}

我还不习惯使用字典,所以任何帮助都会受到赞赏。

5 个答案:

答案 0 :(得分:3)

到位:

>>> d = {1:10, 2:5, 3:18, 4:0, 5:1}
>>> for k in d:
...     d[k] = 0
... 
>>> d
{1: 0, 2: 0, 3: 0, 4: 0, 5: 0}

理解和(可选)重新分配:

>>> d = {1:10, 2:5, 3:18, 4:0, 5:1}
>>> d = {k:0 for k in d}
>>> d
{1: 0, 2: 0, 3: 0, 4: 0, 5: 0}

答案 1 :(得分:2)

另一种(相当奇怪的)方法:

d = dict.fromkeys(d.keys(), 0)

答案 2 :(得分:1)

使用词典理解:

[ActionItems]

答案 3 :(得分:0)

你可以<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Datepicker - Default functionality</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <link rel="stylesheet" href="/resources/demos/style.css"> <script> $(function() { $( "#datepicker" ).datepicker(); }); </script> </head> <body> <p>Date: <input type="text" id="datepicker"></p> </body> </html> 字典键和无限零的迭代器,然后像这样创建一个字典:

zip

答案 4 :(得分:0)

这是一种更奇怪的方式

>>> d = {1:10, 2:5, 3:18, 4:0, 5:1}
>>> d = d.fromkeys(d, 0)
>>> d
{1: 0, 2: 0, 3: 0, 4: 0, 5: 0}

这个答案的优点是,如果d是除d之外的某个映射,它可以返回与dict相同类型的对象。例如

>>> from collections import defaultdict
>>> d = defaultdict()
>>> d.update({1:10, 2:5, 3:18, 4:0, 5:1})
>>> d.fromkeys(d, 0)
defaultdict(None, {1: 0, 2: 0, 3: 0, 4: 0, 5: 0})