本文主要探讨一下在 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
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。
[…] 之前了解过创建各种类型集合的方式 创建 Python 的 list, set, tuple 和 dict,这里再次回顾一下 […]