Guest User

Untitled

a guest
Jun 23rd, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. some_list1 = []
  2. some_list1.append("something")
  3.  
  4. some_list2 = []
  5. some_list2 += ["something"]
  6.  
  7. Python 3.0 (r30:67507, Dec 3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
  8. Type "help", "copyright", "credits" or "license" for more information.
  9. >>> import timeit
  10. >>> timeit.Timer('s.append("something")', 's = []').timeit()
  11. 0.20177424499999999
  12. >>> timeit.Timer('s += ["something"]', 's = []').timeit()
  13. 0.41192320500000079
  14.  
  15. Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
  16. Type "help", "copyright", "credits" or "license" for more information.
  17. >>> import timeit
  18. >>> timeit.Timer('s.append("something")', 's = []').timeit()
  19. 0.23079359499999999
  20. >>> timeit.Timer('s += ["something"]', 's = []').timeit()
  21. 0.44208112500000141
  22.  
  23. >>> import dis
  24. >>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  25. 1 0 BUILD_LIST 0
  26. 3 STORE_NAME 0 (s)
  27. 6 LOAD_NAME 0 (s)
  28. 9 LOAD_ATTR 1 (append)
  29. 12 LOAD_CONST 0 ('spam')
  30. 15 CALL_FUNCTION 1
  31. 18 POP_TOP
  32. 19 LOAD_CONST 1 (None)
  33. 22 RETURN_VALUE
  34. >>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  35. 1 0 BUILD_LIST 0
  36. 3 STORE_NAME 0 (s)
  37. 6 LOAD_NAME 0 (s)
  38. 9 LOAD_CONST 0 ('spam')
  39. 12 BUILD_LIST 1
  40. 15 INPLACE_ADD
  41. 16 STORE_NAME 0 (s)
  42. 19 LOAD_CONST 1 (None)
  43. 22 RETURN_VALUE
  44.  
  45. >>> timeit.Timer('a("something")', 's = []; a = s.append').timeit()
  46. 0.15924410999923566
  47.  
  48. >>> a = []
  49. >>> id(a)
  50. 11814312
  51. >>> a.append("hello")
  52. >>> id(a)
  53. 11814312
  54.  
  55. >>> b = []
  56. >>> id(b)
  57. 11828720
  58. >>> c = b + ["hello"]
  59. >>> id(c)
  60. 11833752
  61. >>> b += ["hello"]
  62. >>> id(b)
  63. 11828720
  64.  
  65. some_list2 += ["something"]
  66.  
  67. some_list2.extend(["something"])
  68.  
  69. >>> a=[]
  70. >>> a.append([1,2])
  71. >>> a
  72. [[1, 2]]
  73. >>> a=[]
  74. >>> a+=[1,2]
  75. >>> a
  76. [1, 2]
  77.  
  78. l= []
  79.  
  80. def a1(x):
  81. l.append(x) # works
  82.  
  83. def a2(x):
  84. l= l+[x] # assign to l, makes l local
  85. # so attempt to read l for addition gives UnboundLocalError
  86.  
  87. def a3(x):
  88. l+= [x] # fails for the same reason
  89.  
  90. >>> l1= []
  91. >>> l2= l1
  92.  
  93. >>> l1.append('x')
  94. >>> l1 is l2
  95. True
  96.  
  97. >>> l1= l1+['x']
  98. >>> l1 is l2
  99. False
  100.  
  101. >>> l2= l1
  102. >>> l1+= ['x']
  103. >>> l1 is l2
  104. True
  105.  
  106. >>> list1=[[1,2],[3,4]]
  107. >>> list2=[5,6]
  108. >>> list3=list1+list2
  109. >>> list3
  110. [[1, 2], [3, 4], 5, 6]
  111. >>> list1.append(list2)
  112. >>> list1
  113. [[1, 2], [3, 4], [5, 6]]
Add Comment
Please, Sign In to add comment