我发现字符串连接的 python 字节码似乎比列表连接少。
这是一个例子。
测试.py:
a = ''.join(['a', 'b', 'c'])
b = 'a' + 'b' + 'c'
然后我执行python -m dis test.py
. 我得到了以下 python 字节码(python 2.7):
1 0 负载常量 0 ('') 3 LOAD_ATTR 0(加入) 6 LOAD_CONST 1 ('a') 9 LOAD_CONST 2 ('b') 12 LOAD_CONST 3 ('c') 15 建造清单 3 18 CALL_FUNCTION 1 21 STORE_NAME 1(一) 3 24 LOAD_CONST 6 ('abc') 27 商店名称 2 (b) 30 LOAD_CONST 4(无) 33 返回值
显然,字符串连接的字节码数量较少。它只是'abc'
直接加载字符串。
谁能解释为什么我们总是说列表连接要好得多?