创建 Python 的 list, set, tuple 和 dict

本文主要探讨一下在 Python 各种创建 list, set, tuple 和 dictionary 的方式。首先看

最常用的创建方式

以上相当于是针对右边的值调用了相应的构造函数,如 list([1, 2]), set({1, 2}), tupe((1, 2)), dict({'k1': 1, 'k2': 2})

创建 set 和 dictionary 都是用大括号 {}, 对于 tuple 如果是单个元素时,要附加一个逗号

如果省略逗号,会怎样呢?

>>> a = (1,)
>>> type(a)
<class 'tuple'>
>>> b = (1)                     # 没了逗号,括号也能省略,就是 b = 1
>>> type(b)
<class 'int'>

创建一个 tuple 也可以省略括号,逗号还是要的,像

>> a = 1,
>>> type(a)
<class 'tuple'>

这还是从代码中吸取的教训,在一系列赋值中不小心多加了逗号

本来是像 Python 的 dict 那样赋值,结果因为第二,三行多加了逗号,使得 component['name'] 和  component['version'] 的类型变成了 tuple。

空集合的创建方式

如果只想创建一个空的 list, set, tuple 和 dictionary, 而后才往其中放入元素

需留意的是创建空 set 必须显示的用 set() 构造函数了,不能用大括号的方式,否则就变成了一个空 dictionary

由于 set 不能用 {}, 像是作为一个补偿,我们还有两种较为花翘的,间接使用 {} 创建空 set 的方式

构造函数创建空集合

除了前面使用 [], (), {} 类似于语法糖的方式外,再来了解下显式的使用构造函数的创建方式

构造函数创建带元素的集合

显示使用构造函数也能创建带元素的各种集合

不过,显然用构造函数创建带元素的集合的以上各种方式都显得十分多余。

也有例外,通过两个列表来生成 dict 的方式或许常会用到

本文链接 https://yanbin.blog/create-python-list-set-dict/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

1 Comment
Inline Feedbacks
View all comments
trackback

[…] 之前了解过创建各种类型集合的方式 创建 Python 的 list, set, tuple 和 dict,这里再次回顾一下 […]