列表理解我有这样的代码:蟒蛇3 if语句引用列表
xtralist = ["df","cvbcb","df"]
kont=[]
b = Counter(xtralist)
for item in xtralist:
if item not in kont:
print(b[item]
kont.append(item)
的kont
列表只那里看看,如果该项目在打印之前已经完成。它的工作原理,但对于大xtralist
太慢了,所以我想这:
[(print(b[item] and kont.append(item)) for item in xtralist if item not in kont]
它不工作。我确信有更聪明的方法,但我怎么能用列表理解来做到这一点?
也许你的'kont'应该是一个集合而不是一个列表。集合检查遏制的速度要快得多。 – khelwood
你的大括号似乎也有问题......还查找三元运算符来帮助你打印语句 – user3012759
'和'是一个逻辑运算符,所以'print(b [item]和kont.append(item)) '试图打印一个'bool'。此外,您不应该在列表理解中执行语句(如'print')。 –