Python:填充或添加值到字典中的当前值
我的数据格式为:
00 154
01 72
02 93
03 202
04 662
05 1297
00 256
我希望遍历每一行,并将第 1 列中的值作为键,将第 2 列中的值作为值,
如果当前键已存在,则以数学方式将第 2 列的新值添加到当前键第 2 列的值。
尝试了这个:
search_result = searches.stdout.readlines()
for output in search_result:
a,b = output.split()
a = a.strip()
b = b.strip()
if d[a]:
d[a] = d[a] + b
else:
d[a] = b
得到了这个:
Traceback (most recent call last):
File "./get_idmanager_stats.py", line 25, in <module>
if d[a]:
KeyError: '00'
I have data in the form of
00 154
01 72
02 93
03 202
04 662
05 1297
00 256
I wish to go through each line and make the value in column 1 the key and the value of column 2 the value
also if the current key already exists, mathematically add the new value of column 2 to the current value of column 2.
Tried this:
search_result = searches.stdout.readlines()
for output in search_result:
a,b = output.split()
a = a.strip()
b = b.strip()
if d[a]:
d[a] = d[a] + b
else:
d[a] = b
And Got this:
Traceback (most recent call last):
File "./get_idmanager_stats.py", line 25, in <module>
if d[a]:
KeyError: '00'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这就是
collections.defaultdict
的用途。您可以简单地执行
And
并且您会发现它无需任何
if
语句即可工作。This is what
collections.defaultdict
is for.You can simply do
And
And you'll find that it works without any
if
statement.