大多数pythonic方式随机选择条件列表中的元素

mel*_*mel -1 python random conditional-statements python-3.x

我有两个清单:

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list2 = [1, 4, 5]
Run Code Online (Sandbox Code Playgroud)

我想从中选择一个元素,list1但它不应该属于list2.

我有一个使用while循环的解决方案,但我希望有一个更加pythonic和优雅的衬垫.

zee*_*hio 8

如果您的元素是唯一的,您可以使用设置差异.(将list1转换为set并从list2中删除元素).然后画一个随机样本.

random.choice(list(set(list1).difference(list2)))
Run Code Online (Sandbox Code Playgroud)