Ваша задача решается только перебором, поэтому быстрее, чем циклом сделать не получится. К тому же,
for
- это вполне питонично.
Другой вариант - это использовать
списковое включение для генерации нового списка на основе исходного:
a = [
['Саша', 'М', 1993],
['Маша', 'Ж', 1990],
['Паша', 'М', 1995],
...
]
current_year = date.today().year
b = [[n, s, current_year - b] for n, s, b in a]
Или
map для той же цели, но вот он как раз совсем не "по питоновски"
b = list(map(lambda i: [i[0], i[1], current_year - i[2]], a))
Или чуточку покрасивее с
starmap:
b = list(starmap(lambda n, s, b: [n, s, current_year - b], a))