首页 > 解决方案 > 我的列表理解代码中的错误在哪里?

问题描述

我知道这听起来可能是一个基本问题,但我最近正在阅读列表理解。然后我尝试了以下代码,但它给了我一个错误(无效的语法)。

 r=0   
 # x=[r=r+1  for c in l1 if l1.count(c) == 1] --> **Invalid syntax**
 for c in l1 : # **But this works in loop**
   if l1.count(c)==1 :
      r+=1
print(r)

sp 问题出在哪里??

标签: python-3.x

解决方案


您不能在列表理解中进行分配。如果我理解,您正在尝试计算列表中的唯一项目,因此您可以通过一种非常简单的方式进行操作:

r = len([x for x in l1 if l1.count(x) == 1])
print(r)

推荐阅读