从列表理解中获取结果。蟒蛇

时间:2019-02-10 06:08:05

标签: python list-comprehension

我正在写一个列表理解。我的目标是获取一个列表作为回报,但是由于某种原因,即使我对列表进行了理解,我也得到了一个集合。目前,我的代码如下:

filteredList = {obj.index for obj in myObjectList if filter(obj) == True}

当我检查“ myObjectList”的类型时,它是一个列表,但是当我检查“ filteredList”的类型时,它是一个集合。为什么对清单的理解会给我一套?

2 个答案:

答案 0 :(得分:1)

理解的结果不基于您要进行理解的数据类型。 它与如何设置理解结果有关。在这种情况下,您将花括号用于理解,因此结果是set

尝试以下方法:

filteredList = [obj.index for obj in myObjectList if filter(obj) == True]

这会将结果obj.index放在列表(由[]括号定义)的列表内,而不是一组({}括号)

答案 1 :(得分:0)

使用花括号进行理解会生成一个集合或字典。您应该改用方括号:if (form2 == null) { form2 = new Form3(); } form2.ShowDialog();