>>> type({/})
<class 'set'>
>>> {/} == set()
True
感觉好奇怪的语法,,为啥非要引入一个空 set 语法??有啥特别大的好处吗?? set() 也挺短的啊??
![]() |
1
iorilu 26 天前
就是感觉空 set 缺一个字面量写法呗, 别的都有, 唯独这个没
想起来了, 空 tuple, 也没, 要不弄个(/) |
![]() |
3
XIVN1987 OP 这个 {/} 大概是 python 首创语法了吧
|
![]() |
4
Vegetable 26 天前 ![]() 你是用多了不觉得奇怪吧
pep 开头已经说的很清楚了,我认为理由很充分。 > This complements the existing notation for empty tuples, lists, and dictionaries, which use (), [], and {} respectively. { i for i in range(10) }是 set { i: i for i in range(10) }是 dict 你习惯了觉得正常,反正我一直认为 set 和 dict 的符号设计缺乏一致性,打个补丁虽然解决不了,但是能好一些。 |
![]() |
5
XIVN1987 OP ![]() @Vegetable
空 set 用 {},空 dict 用 {:} 最符合直觉,,但空 dict 已经用了 {},,为了兼容性不可能用这个方案。。 既然符合直觉的方案已经没了,,那就没必要硬凑一个不符合直觉的方案来用,,毕竟 set() 本身也挺短的。。 |
![]() |
6
iorilu 25 天前
|
![]() |
7
keakon 25 天前
其实这样也行:
>>> {*()} set() |
8
carlojie 25 天前
这他吗有意义吗? 都 ai 时代了
|
9
ershierdu 25 天前 via Android
踩过这个坑好多次了,经常以为{}是空集合
|