Я пытаюсь случайным образом сопоставить два элемента из списка и кортежа. Моя цель - создать строку с соответствием от 1 до 1.
Ниже приведен идеальный код, которого я пытаюсь достичь в итоге.
>>> color = ['red', 'orange', 'yellow']
>>> transportation = ('car', 'train', 'airplane')
>>> combination(color, transportation)
['a red car', 'a yellow train', 'a orange airplane']
Вот что у меня есть.
def combination(color, transportation):
import random
import itertools
n = len(colors)
new = random.sample(set(itertools.product(color, transportation)), n)
return new
[('red', 'car'), ('orange', 'car'), ('red', 'airplane')]
Как видите, красный цвет используется дважды, а транспортный автомобиль также используется дважды.
У меня проблемы с назначением каждой перевозки только одному цвету, а каждый цвет - только одной перевозке.
Кроме того, я был бы очень признателен за советы о том, как превратить кортеж в строку.
ex) ('red', 'car') -> 'красная машина' для каждого элемента в моем списке.