给出几个列表
l = [[1,2,3,4,5],[1,6,7,8],[2,3,4],[1,9,10,13]]
是否有一种简单的方法可以使用random.choice随机选择一个包含1的列表?我尝试了
这样的简单代码 random.choice(1 in l)
或
random.choice(l, 1=True)
,但它们都不起作用。
答案 0 :(得分: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])
或使用filter
:
random_list = random.choice(list(filter(lambda sublist: 1 in sublist, my_lists)))
答案 1 :(得分:0)
尝试以下代码:
获取所有包含1的子列表,并随机返回一个。
sync
编辑:如果没有任何子列表包含1,以上条件将避免错误 希望对您有所帮助。