我可以对这段代码使用列表理解吗?

问题描述 投票:0回答:2

我想在这段代码中使用列表理解来表达“结果”只是为了好玩。

你觉得我能做到吗?或者这是不可能的?

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)]
python list-comprehension
2个回答
0
投票

困难似乎在于您不希望结果中出现重复的数字。为了解决这个问题,您可以首先构建列表,然后通过将其转换为

set
来删除重复项,最后如果您需要该特定数据类型,最后将其转换回
list

list(set([random.randint(1, 45) for _ in range(6)]))

0
投票

您可以在此处使用集合理解并将其转换为列表。

list({random.randint(1, 45) for i in range(6)})
© www.soinside.com 2019 - 2024. All rights reserved.