我正在尝试进行嵌套列表理解,但我无法弄清楚我应该怎么做。目前,我有一个这样的循环:
req.user
虽然这有效,但它完成需要大约5-8秒,并且这个时间对于使用它的情况几乎是不可接受的。我正试图让它进入列表理解,但我似乎无法找到一种方法来使列表理解中的filtered = []
p = -1
for i in list:
p += 1
for k in list_of_lists[p]:
if not k in filter:
filtered.append(k)
。我试过这个:
p += 1
但它显然不起作用。我想知道是否还有解决这个问题。
答案 0 :(得分:1)
我会将其展平,然后将其转换为set
,因为您无法在列表理解中自我引用。差异是一个集合只能包含每个项目中的一个,并且不强制执行订单。
list_of_lists = [["blue","green","red"],["red","yellow","white"],["orange","yellow","green"]]
filtered = set(y for x in list_of_lists for y in x)
print(filtered)