>>> type({/}) <class 'set'> >>> {/} == set() True
感觉好奇怪的语法,,为啥非要引入一个空 set 语法??有啥特别大的好处吗?? set() 也挺短的啊??
![]() | 1 iorilu 65 天前 就是感觉空 set 缺一个字面量写法呗, 别的都有, 唯独这个没 想起来了, 空 tuple, 也没, 要不弄个(/) |
![]() | 3 XIVN1987 OP 这个 {/} 大概是 python 首创语法了吧 |
![]() | 4 Vegetable 65 天前 ![]() 你是用多了不觉得奇怪吧 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 65 天前 |
![]() | 7 keakon 65 天前 其实这样也行: >>> {*()} set() |
8 carlojie 65 天前 这他吗有意义吗? 都 ai 时代了 |
9 ershierdu 65 天前 via Android 踩过这个坑好多次了,经常以为{}是空集合 |