首页 > 解决方案 > 如何将此代码放入一个打印函数(或行)?

问题描述

所以我想把这段代码写成一行。我不知道如何创建两个随机列表,然后在一行中打印出两个列表中的公共数字。我不熟悉将代码放在一行中,我不知道这是否可能。

这是我拥有的代码:

import random
a, b = random.sample(range(1, 50), 30), random.sample(range(1, 50), 30)

print([x for x in a for y in b if x == y])

这是我的尝试:

import random
print([[a = random.sample(range(1, 50), 30)], [b = random.sample(range(1, 50), 30)], x for x in a for y in b if x == y])

标签: pythonrandom

解决方案


只需嵌入定义,因为不需要变量:

import random
print([x for x in random.sample(range(1, 50), 30) for y in random.sample(range(1, 50), 30) if x == y])

如果你想要一个真正的单线,你也可以替换random__import__("random")然后去掉第一行的。import random


推荐阅读