names = ['Aaron', 'Abel', 'Cain', 'Daniel', 'Darius', 'David', 'Ellen',
    'Gary', 'James', 'Jared', 'John', 'Joseph', 'Lawrence', 'Michael',
    'Nicholas', 'Terry', 'Victor', 'Zulu']
right_ends, left_ends = names[2::3], names[3::3]
left_ends = ['A'] + left_ends
left_ends, right_ends
[('%s - %s' % (left, right)) for left, right in zip(left_ends, right_ends)]
Python: разбить список имен на подсписки одинакового размера