Решил поизвращаться с функциональным подходом :)
>>> a
["['9', '8', '7', '4']", "['9', '8', '7', '5']", "['9', '8', '7', '6']"]
>>> map(int, map(''.join, map(eval, a)))
[9874, 9875, 9876]
>>> reduce(lambda item, func: map(func, item), (eval, ''.join, int), a)
[9874, 9875, 9876]
>>> eval(','.join(a).translate(None,",' ").replace('][',','))
[9874, 9875, 9876]
>>> from itertools import starmap
>>> map(int, starmap(('{}'*4).format, map(eval, a)))
[9874, 9875, 9876]
>>> import re
>>> eval(re.sub("', '|['\[\]]", '', ','.join(a)))
(9874, 9875, 9876)
>>> map(lambda x: int(re.sub('[^\d]', '', x)), a)
[9874, 9875, 9876]
>>> repl = partial(re.sub, '[^\d]', '')
>>> map(lambda x: int(repl(x)), a)
[9874, 9875, 9876]
>>> reduce(lambda item, func: map(func, item), (repl, int), a)
[9874, 9875, 9876]
>>> reduce(lambda *args: map(*args[::-1]), (repl, int), a)
[9874, 9875, 9876]
>>> reduce(lambda *args: map(*args[::-1]), (eval, ''.join, int), a)
[9874, 9875, 9876]
>>> func = lambda item: int(''.join(char for char in item if char in digits))
>>> map(func, a)
[9874, 9875, 9876]
>>> from textwrap import wrap
>>> map(int, wrap(re.sub('[^\d]', '', str(a)), 4))
[9874, 9875, 9876]
>>> d = set(digits)
>>> fltr = partial(filter, d.issuperset)
>>> map(int, map(fltr, a))
[9874, 9875, 9876]
>>> map(int, re.findall('\d{4}', re.sub('[^\d]', '', str(a))))
[9874, 9875, 9876]