擅长:python、mysql、java
<p>对于此任务,您可以组合使用<a href="https://docs.python.org/2/library/re.html" rel="nofollow noreferrer">regex</a>和<a href="https://docs.python.org/2/library/itertools.html#itertools.groupby" rel="nofollow noreferrer">itertools.groupby</a>等工具:</p>
<pre><code>values = {
'localhost': [
'alice: 1491916K',
'bob: 423576K'
],
'10.252.136.241': [
'alice: 3491916K',
'bob: 4235K',
'chaplin: 3456K'
]
}
import re
import itertools
numbers = re.compile(r'\d+')
parsed_list = [(el.split(': ')[0], int(numbers.findall(el)[0])) for k, v in values.items() for el in v]
print({k: sum([el[1] for el in v]) for k, v in itertools.groupby(sorted(parsed_list), key=lambda x: x[0])})
</code></pre>
<p>输出:</p>
^{pr2}$