【问题标题】:Is it possible to create frozen sets with curly braces?是否可以使用花括号创建冻结集
【发布时间】:2021-10-31 22:04:47
【问题描述】:

似乎只能使用frozenset() 构造函数创建frozenset

这是真的还是有文字方式来创建一个冻结集?我找不到任何证据in the docs

【问题讨论】:

  • frozenset 没有文字,是的。
  • 这很遗憾,因为我认为没有任何特殊原因无法扩展语法以允许类似于字符串文字支持的前缀。 f{1, 2, 3} 可以是 frozenset 文字。它不会与任何现有语法冲突。
  • 我猜 freezesets 的使用不够普遍,以至于需要文字语法(当然这是先有鸡还是先有蛋的情况)。至于像f{1, 2, 3} 这样的语法,我认为没有技术问题,但是f 的含义将与f"..." 中的含义完全不同。一个不需要新语法的解决方案可能是让集合具有一个只读的.frozen 属性,该属性返回frozenset(self),并且编译器可以对{1, 2, 3}.frozen 之类的表达式有一个特殊情况,将它们编译为frozenset常量。
  • 出于某种原因,我认为它会是`{1, 2, 3}
  • ⛄️{1, 2, 3}...

标签: python frozenset


【解决方案1】:

你所链接的上面一句话是答案(强调我的):

非空集(not freezesets)可以通过放置一个 大括号内以逗号分隔的元素列表,例如:{'jack', 'sjoerd'},以及 set 构造函数。

简而言之,不,没有办法做到这一点

【讨论】:

    猜你喜欢
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 2015-10-09
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多