>>> dict(zip(*s.fields(pattern=r'^(Success|Fail|Trunc)', sub_pattern='packets:\s+', replacement='')))
{'Successful': '10', 'Failed': '0', 'Truncated': '0'}
### or, this
>>> dict(
... ChainMap(
... *[{i[0]: i[1]} for i in s.compress(indexes=(0, 2), pattern=r'^(Success|Fail|Trunc)')]
... )
... )
{'Truncated': '0', 'Failed': '0', 'Successful': '10'}
### or, this
>>> s.filtered_map(lambda s: (s.split()[0], s.split()[2]), lambda s: s.split()[0] in ('Successful', 'Failed', 'Truncated'))
[('Successful', '10'), ('Failed', '0'), ('Truncated', '0')]
### or, this
>>> s.to_dict_func(lambda l: ((l.split()[0], l.split()[2]),), pattern=r'^(Success|Fail|Trunc)')
[{'Successful': '10'}, {'Failed': '0'}, {'Truncated': '0'}]
### or, this
>>> [{i.split()[0]: i.split()[1]} for i in s.lastn(5, pattern=r'^(Success|Fail|Trunc)', sub_pattern='packets:\s+', replacement='')]
[{'Successful': '10'}, {'Failed': '0'}, {'Truncated': '0'}]