#python #python-3.x #set #python-2.x
#питон #python-3.x #установить #python-2.x
Вопрос:
In [1]: import sys
In [2]: sys.version_info
Out[2]: sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)
In [3]: b=set([10,20,40,32,67,40,20,89,300,400,15])
In [4]: b
Out[4]: {10, 11, 15, 20, 32, 40, 67, 89, 111, 300, 400}
In [1]: import sys
In [2]: sys.version_info
Out[2]: sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)
In [3]: b=set([10,20,40,32,67,40,20,89,300,400,15])
In [4]: b
Out[4]: set([32, 67, 40, 10, 11, 300, 15, 400, 20, 89, 111])
почему это отличается между 2 и 3?
Ответ №1:
Потому {...}
что синтаксис не был введен до Python 2.7, и к тому времени set([...])
repr()
формат уже был установлен.
Таким образом, чтобы сохранить существующий код Python 2, который, возможно, полагался на работу set([...])
представления, repr()
не был изменен в серии 2.x . В Python 3 {...}
с самого начала были обозначения для наборов.