📅  最后修改于: 2023-12-03 15:17:27.211000             🧑  作者: Mango
lst3 = [value for value in lst1 if value in lst2]
的含义这条语句是一个列表生成式,其作用是在 lst1
中筛选出在 lst2
中出现过的元素,并将这些元素存储在新的列表 lst3
中。
具体来说,该列表生成式可以分解为以下步骤:
lst1
中的每个元素,赋值给变量 value
。value
,判断其是否也在 lst2
中出现过。value
在 lst2
中出现过,则将其加入 lst3
中。举个例子,假设我们有以下两个列表:
lst1 = [1, 2, 3, 4, 5]
lst2 = [2, 4, 6, 8]
那么执行 lst3 = [value for value in lst1 if value in lst2]
后,就会得到 lst3 = [2, 4]
,因为 2
和 4
都在 lst1
中出现过且也在 lst2
中出现过。
值得注意的是,该列表生成式不仅仅适用于数字列表,任意类型的列表都可以使用该方法筛选出在另一个列表中出现过的元素。同时,由于该列表生成式只会保留在 lst2
中出现过的元素,因此 lst3
中的元素顺序与它们在 lst1
中出现的顺序无关。