python - 从列表理解中获得一个集合。Python
问题描述
我正在写一个列表理解。我的目标是得到一个列表作为回报,但由于某种原因,我得到了一个集合,即使我正在对列表进行理解。目前我的代码如下所示:
filteredList = {obj.index for obj in myObjectList if filter(obj) == True}
当我检查“myObjectList”的类型时,它是一个列表,但是当我检查“filteredList”的类型时,它是一个集合。为什么在一个列表上完成一个理解给我一个集合?
解决方案
推导的结果不是基于您正在执行推导的数据类型。这与你如何设置理解的结果有关。在这种情况下,您使用花括号进行理解,因此您得到set
a 结果。
试试这个:
filteredList = [obj.index for obj in myObjectList if filter(obj) == True]
这会将结果obj.index
' 放在列表中(由[]
括号定义),而不是集合({}
括号)
推荐阅读
- c# - 在c#中将字符串转换为等效的字节十六进制
- c++ - 以 constexpr 和不带 constexpr 的形式运行函数
- windbg - WinDbg 显示中缺少标识符名称
- python - 从数据库中的数据填充下拉列表 - Django
- notifications - fail2ban 测试发送电子邮件
- javascript - 使用 vanilla JS 显示 Html 表单数据
- c# - SkiaSharp 切出路径
- python - Python按相对于列的最低值合并
- python - 使用正则表达式 python 删除空格
- python - 在 Azure 中部署 Dash 应用程序,仍在加载中