我想在这段代码中使用列表理解来表达“结果”只是为了好玩。
你觉得我能做到吗?或者这是不可能的?
import random
result = []
for i in range(6):
num = random.randint(1, 45)
if num not in result:
result.append(num)
print(result)
我尝试了好几次,才达到这个状态。
result = [num if num not in result for i in range(6)]
困难似乎在于您不希望结果中出现重复的数字。为了解决这个问题,您可以首先构建列表,然后通过将其转换为
set
来删除重复项,最后如果您需要该特定数据类型,最后将其转换回 list
。
list(set([random.randint(1, 45) for _ in range(6)]))
您可以在此处使用集合理解并将其转换为列表。
list({random.randint(1, 45) for i in range(6)})