Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- some_list1 = []
- some_list1.append("something")
- some_list2 = []
- some_list2 += ["something"]
- Python 3.0 (r30:67507, Dec 3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
- Type "help", "copyright", "credits" or "license" for more information.
- >>> import timeit
- >>> timeit.Timer('s.append("something")', 's = []').timeit()
- 0.20177424499999999
- >>> timeit.Timer('s += ["something"]', 's = []').timeit()
- 0.41192320500000079
- Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
- Type "help", "copyright", "credits" or "license" for more information.
- >>> import timeit
- >>> timeit.Timer('s.append("something")', 's = []').timeit()
- 0.23079359499999999
- >>> timeit.Timer('s += ["something"]', 's = []').timeit()
- 0.44208112500000141
- >>> import dis
- >>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
- 1 0 BUILD_LIST 0
- 3 STORE_NAME 0 (s)
- 6 LOAD_NAME 0 (s)
- 9 LOAD_ATTR 1 (append)
- 12 LOAD_CONST 0 ('spam')
- 15 CALL_FUNCTION 1
- 18 POP_TOP
- 19 LOAD_CONST 1 (None)
- 22 RETURN_VALUE
- >>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
- 1 0 BUILD_LIST 0
- 3 STORE_NAME 0 (s)
- 6 LOAD_NAME 0 (s)
- 9 LOAD_CONST 0 ('spam')
- 12 BUILD_LIST 1
- 15 INPLACE_ADD
- 16 STORE_NAME 0 (s)
- 19 LOAD_CONST 1 (None)
- 22 RETURN_VALUE
- >>> timeit.Timer('a("something")', 's = []; a = s.append').timeit()
- 0.15924410999923566
- >>> a = []
- >>> id(a)
- 11814312
- >>> a.append("hello")
- >>> id(a)
- 11814312
- >>> b = []
- >>> id(b)
- 11828720
- >>> c = b + ["hello"]
- >>> id(c)
- 11833752
- >>> b += ["hello"]
- >>> id(b)
- 11828720
- some_list2 += ["something"]
- some_list2.extend(["something"])
- >>> a=[]
- >>> a.append([1,2])
- >>> a
- [[1, 2]]
- >>> a=[]
- >>> a+=[1,2]
- >>> a
- [1, 2]
- l= []
- def a1(x):
- l.append(x) # works
- def a2(x):
- l= l+[x] # assign to l, makes l local
- # so attempt to read l for addition gives UnboundLocalError
- def a3(x):
- l+= [x] # fails for the same reason
- >>> l1= []
- >>> l2= l1
- >>> l1.append('x')
- >>> l1 is l2
- True
- >>> l1= l1+['x']
- >>> l1 is l2
- False
- >>> l2= l1
- >>> l1+= ['x']
- >>> l1 is l2
- True
- >>> list1=[[1,2],[3,4]]
- >>> list2=[5,6]
- >>> list3=list1+list2
- >>> list3
- [[1, 2], [3, 4], 5, 6]
- >>> list1.append(list2)
- >>> list1
- [[1, 2], [3, 4], [5, 6]]
Add Comment
Please, Sign In to add comment