2015-11-30 88 views
1

在Python 3,設置符號而Python 2使用列表樣式更加匹配集在集理論表現的方式(即set_py3 = {"A","B","C"} \ set_py2 = set(["A","B","C"])使用Python 3風格集在Python 2

是有什麼方法可以使用from __future__將設置符號從Python 3移植到Python 2?

py2.7讓我們使用{"A","B","C"}集合符號,但是當它打印時,它仍然是set(["A","B","C"])。我看到了from __future__ import braces,但我不認爲這會引入這種類型的集合符號。我知道你可以用from __future__ import print_function導入新的打印功能。我不確定是否有類似的移植集合符號的方法。

+4

我使用的是2.7和'set_py3 =​​ { 「A」, 「B」,「C 「}'適合我。 – Kevin

+2

另請注意'{}'是一個空字典。 'set()'仍然是執行空集的唯一方法。 –

+3

從__future__導入大括號'是一個笑話。 –

回答

-1

有一些特徵ported to Python 2.7 from 3.1,其中包括一組表達式語法;和其他東西:

就像Python 2.6集成了Python 3.0的特性一樣,2.7版本包含了Python 3.1中的一些新特性。 2.x系列繼續提供用於遷移到3.x系列的工具。

的該被反向移植到2.7 3.1功能的部分列表:

  • 爲集文字的語法({1,2,3}是一個可變集)。
  • 字典和集合理解({i:i * 2 for i in range(3)})。
  • 單個with語句中的多個上下文管理器。
  • io庫的新版本,用C語言重寫以提高性能。
  • PEP 372:將有序字典添加到集合中描述的有序字典類型。
  • PEP 378:千分隔符的格式說明符中描述的新「,」格式說明符。
  • memoryview對象。
  • ...

因此,要使用新語法,只要升級到Python 2.7

+2

-1用戶正在詢問有關集合的repr。他們並沒有詢問關於創建集合的字面語法。 – wim

+1

編輯完成後,我已經回答。 –