|  |      1nervouna      2013-02-25 11:33:14 +08:00 dict() 可读性更高,这个问题萝卜白菜吧。 | 
|  |      2TankyWoo OP | 
|  |      3jybox      2013-02-25 12:35:12 +08:00 我不是很了解Python, 但类似这样的争议在其他语言也有. 我觉得还是应该从编写方便、可读性方面来考虑, 至于解释器的问题, 如果问题明显, 人家早晚会改正的, 不明显的话忽略就是了. | 
|  |      4G0dBlessMe      2013-02-25 12:40:05 +08:00 dict() | 
|  |      5ipconfiger      2013-02-25 13:39:14 +08:00  1 这么用类似于  def d(**kwargs): return kwargs 然后就可以 d(a=1,b=2) 其实dict还可以 dict([("a",1),("b",2)]) | 
|  |      6TankyWoo OP | 
|  |      7tonyseek      2013-02-25 14:41:46 +08:00  1 大多数情况下第一眼看到 {} 会想到这是一个映射结构,因为 Python、Ruby、JavaScript 等语言都这么约定的,所以我不觉得 {} 的可读性不如 dict() | 
|  |      9TankyWoo OP | 
|  |      10hit9      2013-02-25 16:28:47 +08:00 dict() 我也不知道为森么 | 
|  |      11wenbinwu      2013-02-25 16:42:45 +08:00 dict() | 
|  |      12CoX      2013-02-25 17:19:06 +08:00 {} 感觉很省事啊 | 
|  |      13windviki      2013-02-25 17:24:07 +08:00 直接初始化还是觉得{}好看。 dict comprehension在python2.6不行,要兼容的时候就只好dict([(), ()])这样了,里面的list用list comprehension生成。 | 
|  |      14wenbinwu      2013-02-25 20:07:22 +08:00 联想一下, list是用list()还是[] | 
|  |      15Mattsive      2013-02-27 17:34:31 +08:00 http://doughellmann.com/2012/11/the-performance-impact-of-using-dict-instead-of-in-cpython-2-7-2.html dict() 的效率比 {} 要慢好几倍,但为了代码的直观性还是建议用 dict() | 
|  |      17zhangxiao      2013-02-28 00:04:55 +08:00 {},可能js带的习惯吧 | 
|  |      18est      2013-02-28 08:35:59 +08:00  1 新建空dict用 a = {} 深复制dict用 a = dict(b, newkey='newval') 更加优雅。 | 
|      19mengzhuo      2013-02-28 10:06:24 +08:00 {} 这个才是Pythonic的写法 再说字典推导的时候能用dict()吗~ | 
|  |      20TankyWoo OP @mengzhuo  In [1]: lst = [1,2,3] In [2]: dic = dict([(v, v*2) for v in lst]) In [3]: dic Out[3]: {1: 2, 2: 4, 3: 6} dict()也可以实现的,不过麻烦些 | 
|  |      22Js      2013-02-28 11:15:46 +08:00 不是海量创建字典还是用dict这个函数吧 python新搞出了个{}创建set的语法, 一不小心把{'a':'b'}敲成{'a','b'}又没发现就囧了 | 
|  |      23TankyWoo OP | 
|  |      24Smartype      2013-02-28 15:10:33 +08:00 via iPad [], {} 都是Python的优点。 非要说dict()易读,呵呵 | 
|  |      25TankyWoo OP | 
|  |      26nervouna      2013-03-05 15:45:39 +08:00 @Smartype  比方说,用两个 list 做字典 keys = ['a', 'b', 'c'] values = [1, 2, 3] # 用 {} D1 = {} for (k, v) in zip(keys, values): D[k] = v # 用 dict() D2 = dict(zip(keys, values)) dict() 看起来会稍微直观一些。 追求效率的话就用 C 去实现啦。 | 
|  |      27Smartype      2013-03-05 17:04:32 +08:00 @nervouna 真没有什么有意义的理由。你这样就是为了了答案而出题。 真不知道为什么不直接那样写。 D1 = { 'a': 1, 'b': 2, 'c': 3 } 习惯而已。其实不所谓好坏。我就觉得{}少敲几下键盘,也及其直观。任何语言都是要考虑效率的,当然不同语言对效率的要求不一样。最好别说Python不在乎效率,在乎效率就得用C。 | 
|  |      28Smartype      2013-03-05 17:07:56 +08:00 这么说吧,静态 dict 当然直接用 {}, 动态构造显然 dict() 更方便 | 
|  |      29nervouna      2013-03-06 07:05:17 +08:00 @Smartype 對啊,習慣而已。我這裡確實有點鑽牛角尖了,哈哈。 另,我用 Python 就是為了很快出原型,所以從來就沒有考慮過效率問題。這也是我沒說明的地方。 | 
|  |      30TankyWoo OP |