Python:如何使用列表推导来表示这个特定的for循环?

时间:2016-06-02 04:07:59

标签: python for-loop list-comprehension

正如标题所述,我想知道如何使用" list comprehension"缩短这个for循环。循环功能正常;但是,赋予我的赋值的细节表明我应该至少有一个列表理解,这是我的代码中唯一的for循环。顺便说一下,我对python很新。

z=0
for elements in a
    if a[z] in c:
        z=z+1
    elif a[z] in b:
        c.append(a[z])
        z=z+1
    else:
        z=z+1

此外,如果有任何一般性提示可以缩短这一点,那将非常感激。

1 个答案:

答案 0 :(得分:1)

我假设你想要的是从a中获取元素,如果c中存在这些元素,则将它们放在b中。此外,您还要确保c中只有一个此类元素退出,这意味着c是一个集合。

你可以这样做

>>> a = [1, 3, 5, 7, 3]
>>> b = [3, 5]
>>> set([ i for i in a if i in b ])
set([3, 5])