设置理解

集合理解类似于列表字典理解 ,但它产生一个集合 ,它是一个独特元素的无序集合。

Python 2.x >= 2.7

# A set containing every value in range(5):
{x for x in range(5)}
# Out: {0, 1, 2, 3, 4}

# A set of even numbers between 1 and 10:
{x for x in range(1, 11) if x % 2 == 0}
# Out: {2, 4, 6, 8, 10}

# Unique alphabetic characters in a string of text:
text = "When in the Course of human events it becomes necessary for one people..."
{ch.lower() for ch in text if ch.isalpha()}
# Out: set(['a', 'c', 'b', 'e', 'f', 'i', 'h', 'm', 'l', 'o',
#           'n', 'p', 's', 'r', 'u', 't', 'w', 'v', 'y'])

现场演示

请记住,集合是无序的。这意味着集合中结果的顺序可能与上述示例中的顺序不同。

注意 :自从 python 2.7+以来可以使用集合理解,而不像 2.0 中添加的列表理解。在 Python 2.2 到 Python 2.6 中,set() 函数可以与生成器表达式一起使用以产生相同的结果:

Python 2.x >= 2.2

set(x for x in range(5))
# Out: {0, 1, 2, 3, 4}