Как объединить для вывода цикла с другим для вывода цикла?

Допустим, у меня есть цикл, который генерирует случайные имена

names = ['Kiri', 'Elizabeth', 'Philip', 'Charlotte', 'Lydia']

random_names = []
for x in range(3):
    random_names.append(random.choice(names))
print (random_names)

-Это напечатало бы 3 случайных имени, например ['Шарлотта', 'Лидия', 'Кири']

Затем я хочу генерировать случайные числа, скажем, от 1 до 20

random_numbers = random.sample([x for x in range (1,20)], (3))
print (random_numbers)

И скажем, мы получили [7, 13, 2]

Тогда мой вопрос: я хочу назначить эти случайные числа следующим случайным именам, чтобы они ассоциировались с именем. Как я должен написать код таким образом, чтобы он мог выглядеть как

("Шарлотта", 7), ("Лидия", 13), ("Кири", 2)

Заранее спасибо!

1 ответ

Решение

Есть несколько способов сделать это, вы можете использовать zip look в этом небольшом примере:

names = ['Kiri', 'Elizabeth', 'Philip', 'Charlotte', 'Lydia']
random_numbers = random.sample([x for x in range (1,20)], (3))
zip(names,random_numbers)

выход

[("Кири", 19), ("Елизавета", 3), ("Филипп", 1)]

Выход выше является list of tuples

Другие вопросы по тегам