2012-10-08 45 views
4

正如我们所知,Python:这个语法如何以及为什么起作用? {1,2,3,4}

{} # Represents a dict 

而且

{'one': 1} # Again a dict 

如何以及为什么这是一个集:

{'one', 'two', 'three', 'four'} # I thought it should give syntax error 

但它给:

set(['one', 'two', 'three', 'four']) # Strange ?? [ Should this happen ? ] 

您能提供与官方文档讨论相同的链接?

+5

亲爱的低调选民,在投票中没有违法行为。只需添加评论什么是缺少/错误的呢? –

+0

任何人都可以知道任何其他有线/冲突的Python语法? –

回答

11

Set literals是一个3.x特性,已被回溯到2.7。

这是一个有用的功能 - 请注意,集合解析也是允许的。

+0

(在Python 3中,集合文字符号也用在集合的'repr()'中,而不像@YugalJindle在Python 2.7中看到的那样) –

+0

嗯,那个理解特性非常酷。感谢分享。 –