我的字典中有数字:
{1:10, 2:5, 3:18, 4:0, 5:1}
我想知道的是,如何在不更改每个元素的情况下将所有这些值设置为零?所以它会像:
{1:0, 2:0, 3:0, 4:0, 5:0}
我还不习惯使用字典,所以任何帮助都会受到赞赏。
答案 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})