小编H D*_*cet的帖子

使用python list comprehension创建具有唯一值的列表if if子句不起作用

我被要求在第三个列表中比较2列表和文件管理器的唯一值.我必须确保第三个列表只包含唯一值,不包含双精度值.

以下代码有效:

import os, random

def makerange(number):
    lijst = [random.randint(1,number) for item in
    range(1,random.randint(2,number))]
    return lijst

a = makerange(20)
b = makerange(20)
c = set()

for item in a:
  if item in b and item not in c:
      c.add(item)
Run Code Online (Sandbox Code Playgroud)

我试图将for循环重写为python列表理解.

c = [ item for item in a if (item in b) & (item not in c)]
Run Code Online (Sandbox Code Playgroud)

但是这个列表理解不起作用?有什么建议为什么这不起作用?我应该如何用列表理解来写这个.

python list-comprehension python-2.7

0
推荐指数
1
解决办法
806
查看次数

标签 统计

list-comprehension ×1

python ×1

python-2.7 ×1