当前位置: 首页 > 面试题库 >

使用花括号在Python中初始化Set

咸利
2023-03-14
问题内容

我正在学习python,并且对初始化集有一个新手问题。通过测试,我发现可以像这样初始化一个集合:

my_set = {'foo', 'bar', 'baz'}

与标准方式相反,以这种方式进行操作是否有任何缺点:

my_set = set(['foo', 'bar', 'baz'])

还是仅仅是样式问题?


问题答案:

设置文字语法有两个明显的问题:

my_set = {'foo', 'bar', 'baz'}
  1. 在Python 2.7之前不可用

  2. 无法使用该语法表示空集(使用{}创建空dict)

这些可能对您很重要,也可能不重要。

概述此语法的文档部分在此处。



 类似资料:
  • 问题内容: 我正在读Python是通过缩进而不是花括号来完成所有“代码块”的工作。是对的吗?因此,函数,if和类似的东西都没有用大括号括起来而出现了吗? 问题答案: 您可以尝试使用将来的import语句添加对花括号的支持,但尚不支持,因此会出现语法错误:

  • 问题内容: 通常,我将初始化一个类似的结构: 但是,我最近看到了用括号初始化的代码: 返回相同的名称。 括号中的内容起什么作用?何时首选? 这是一些Go代码可以尝试一下: 游乐场:https : //play.golang.org/p/_gsaruS_DVi 问题答案: 没什么特别的,那两行是相同的。 但是,例如,当您要在语句中使用它时,将需要使用括号,否则会出现编译时错误: 结果是: 预期的布尔

  • 问题内容: 在Java的“ 隐藏功能”中,最常见的答案是,其语法非常诱人: 此成语创建一个匿名内部类,其中仅包含一个实例初始化程序,该实例“可以使用包含范围内的任何方法”。 主要问题:这听起来像效率低下吗?它的使用是否应仅限于一次性初始化?(当然还有炫耀!) 第二个问题:新的HashSet必须是实例初始化程序中使用的“ this”……任何人都可以阐明该机制吗? 第三个问题:这个习惯用法是否太晦涩,

  • 我认为模板函数可以有默认的参数参数(不是模板参数而是运行时参数)。我们也可以用空括号初始化来初始化一个类。但是编译器如何匹配模板呢? 这段代码为什么要编译,编译器如何进行演绎,以及这个函数调用示例中的参数是什么? 我所理解的是:默认括号初始化调用空构造函数,这是隐式创建的,因为没有用户定义的构造函数或用户定义的默认构造函数。也就是说,我们可以用{}初始化任何包。所以扣除不适用于那里,因为我们不能选

  • Java中的双大括号初始化语法()是什么?

  • 问题内容: 我想知道为什么第二个地图声明(使用菱形运算符)在第一个地图声明时不编译。编译错误: 错误:无法推断HashMap的类型参数;Map map2 = new HashMap <>(){原因:不能对K,V是类型变量的匿名内部类使用’<>’:K扩展在HashMap类中声明的对象V扩展在HashMap类中声明的对象 码: 编辑 感谢您的回答- 我应该更好地阅读编译错误。我在JLS中找到了 如果类