生成随机名称列表 - Python

BPm*_*rop 6 python

我正在尝试创建一个名称列表,每个名称都不同。这是我现在的代码,但它所做的只是创建多个同名实例。

import random

first_names=('John','Andy','Joe')
last_names=('Johnson','Smith','Williams')

full_name=random.choice(first_names)+" "+random.choice(last_names)

group=full_name*3
Run Code Online (Sandbox Code Playgroud)

例如,这将显示为:

John Smith
John Smith
John Smith
Run Code Online (Sandbox Code Playgroud)

但我想要这样的东西:

John Williams
Andy Johnson
Joe Johnson
Run Code Online (Sandbox Code Playgroud)

Jea*_*bre 6

你只是在这里复制你的字符串。随机仅发生一次。

相反,在生成器理解中执行此操作,并用空格连接结果:

import random

first_names=('John','Andy','Joe')
last_names=('Johnson','Smith','Williams')

group=" ".join(random.choice(first_names)+" "+random.choice(last_names) for _ in range(3))


print(group)
Run Code Online (Sandbox Code Playgroud)

输出:

Joe Williams Joe Johnson Joe Smith
Run Code Online (Sandbox Code Playgroud)