python-3.x - 我的列表理解代码中的错误在哪里?
问题描述
我知道这听起来可能是一个基本问题,但我最近正在阅读列表理解。然后我尝试了以下代码,但它给了我一个错误(无效的语法)。
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 问题出在哪里??
解决方案
您不能在列表理解中进行分配。如果我理解,您正在尝试计算列表中的唯一项目,因此您可以通过一种非常简单的方式进行操作:
r = len([x for x in l1 if l1.count(x) == 1])
print(r)
推荐阅读
- spring - atomikos (JTA) 在哪里保持状态?
- javascript - 如何在 Vue.js 中的方法内触发输入焦点事件?
- javascript - How to add dotted lines between two interval of x-axis in hightcharts
- mysql - 在 mariadb 存储过程查询中需要快速的小帮助-
- c# - 由于外部库导致的部署问题
- python-unittest - 如何将unittest模块用于调用多个函数并使用全局变量的python脚本
- anylogic - 在运行时通过在 2D 视图中单击特定代理来访问它,调试
- ios - ITMS-90809:不推荐使用的 API 使用,我使用 WKWebView 但不起作用
- javascript - event.which 在反应中未定义
- active-directory - 活动目录 | 属性编辑器 - 使用 Microsoft Graph API 获取用户属性