如何遍历并修改字典中的值?
records = {'foo':foo, 'bar':bar, 'baz':baz}
我想把值为 None
的地方改成 0
。我该怎么做呢?
比如:
records = {'foo':None, 'bar':None, 'baz':1}
我想把 foo
和 bar
改成 0
。
最终的字典是:
records = {'foo':0, 'bar':0, 'baz':1}
6 个回答
13
尝试一下
for key, value in records.iteritems():
if value is None:
records[key] = 0
20
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能在使用某个库时,发现它的某个功能没有按预期工作。这种情况可能会让人感到困惑,不知道该如何解决。
通常,解决这类问题的第一步是仔细检查代码,看看是否有拼写错误或者逻辑上的问题。有时候,问题可能出在我们对工具的理解上,或者是我们没有正确使用它的功能。
如果自己找不到问题所在,可以考虑去网上搜索一下,看看其他人是否遇到过类似的情况。StackOverflow是一个很好的地方,很多程序员会在这里分享他们的经验和解决方案。
另外,记得多看一下官方文档,里面通常会有详细的说明和示例,帮助我们更好地理解如何使用这个工具。
总之,遇到问题时不要着急,慢慢分析,查找资料,通常都能找到解决办法。
for k in records:
if records[k] is None:
records[k] = 0
19
另一种方法
records.update((k, 0) for k,v in records.iteritems() if v is None)
示例
>>> records
{'bar': None, 'baz': 1, 'foo': None}
>>> records.update((k, 0) for k,v in records.iteritems() if v is None)
>>> records
{'bar': 0, 'baz': 1, 'foo': 0}