随机选择一个包含特定元素的列表

Pyt*_*101 3 python

给出几个清单

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

有没有一种简单的方法可以使用random.choice随机选择一个包含1的列表?我尝试了像

random.choice(1 in l)

要么

random.choice(l, 1=True),但它们都不起作用。

Sel*_*cuk 5

没有内置方法(那是相当不错的),但是您可以执行以下操作:

import random
my_lists = [[1,2,3,4,5],[1,6,7,8],[2,3,4],[1,9,10,13]]
random_list = random.choice([sublist for sublist in my_lists if 1 in sublist])
Run Code Online (Sandbox Code Playgroud)

或使用filter:

random_list = random.choice(list(filter(lambda sublist: 1 in sublist, my_lists)))
Run Code Online (Sandbox Code Playgroud)