Если я правильно понимаю, вы можете сделать это, повторив один раз list
, используя dict
. Пример:
red_words = {'red': 'red', # English
'rojo': 'red', # Spanish
'rot': 'red', # German
'rouge': 'red' # French
}
blue_words = {'blue': 'blue',
'azul': 'blue',
'blau': 'blue',
'bleu': 'blue'
}
# More colours here...
combined_translations = {**red_words, **blue_words}
data = [('blue_thing', 'bleu'),
('also_blue_thing', 'azul'),
('blueberry', 'blue'),
('fire engine', 'red'),
('blood', 'rouge'),
('tomato', 'rot')]
translated = [(item, combined_translations[colour]) for item, colour in data]
print(translated)
Выход:
[('blue_thing', 'blue'),
('also_blue_thing', 'blue'),
('blueberry', 'blue'),
('fire engine', 'red'),
('blood', 'red'),
('tomato', 'red')]
Это не удастся, если по какой-то извращенной случайности у вас будет одно и то же слово в двух исходных языках, но каждое из них будет иметь разные цвета на английском языке.