Херня с таплами объясняется тем, что здесь конструируется единственный тапл, а все остальные круглые скобки интерпретируются как подвыражение в скобках. Чтобы сделать одноэлементный тапл, надо запятую поставить.
>>> b = ((((),),),) >>> b ((((),),),)
Алсо к формулировке из тикета: типичное теоретико-множественное построение натуральной арифметики определяет 0 как {}, а (n+1) как n ∪ {n}, то есть 1 = {{}}, 2 = {{{}}, {}}, 3 = { {{{}}, {}}, {{}}, {} } и т.д. Это даёт то желательное свойство, что представление числа n является множеством, содержащим n элементов: len(n) == n; а также позволяет реализовывать сравнения вида n ≤ m как n ⊆ m и n < m как n ∊ m.
Comments 3
То есть x ещё ничего (и да, frozenset() is frozenset({})), а y у тебя просто приведение x к типу frozenset. А надо y=frozenset({x}).
Reply
Кстати, такая же херня и с tuple'ами.
b=(((())))
>>> b
()
Reply
Херня с таплами объясняется тем, что здесь конструируется единственный тапл, а все остальные круглые скобки интерпретируются как подвыражение в скобках. Чтобы сделать одноэлементный тапл, надо запятую поставить.
>>> b = ((((),),),)
>>> b
((((),),),)
Алсо к формулировке из тикета: типичное теоретико-множественное построение натуральной арифметики определяет 0 как {}, а (n+1) как n ∪ {n}, то есть 1 = {{}}, 2 = {{{}}, {}}, 3 = { {{{}}, {}}, {{}}, {} } и т.д. Это даёт то желательное свойство, что представление числа n является множеством, содержащим n элементов: len(n) == n; а также позволяет реализовывать сравнения вида n ≤ m как n ⊆ m и n < m как n ∊ m.
Reply
Leave a comment