我明白它是如何工作的,但我在實際的程序中沒有看到它的目的。如果他們確實實現了pop()方法,他們爲什麼不實現push()呢?在列表中使用pop()有什麼意義?
回答
append()
怎麼樣?這相當於push
。
整個目的是一個快速的方式來使用列表作爲堆棧方便時。它也可以用方法pop(0)
和append()
的組合作爲隊列使用。雖然這種特定情況下的最佳選擇是從deque
collections.
加上,pop()可能有一個索引。你不想爲了彈出一個元素而使用新的列表ram。 – cox
他們沒有實施的推動,但是他們分手的功能集成到list.insert()
和list.append()
代替。
list.append()
等價於將值推到末尾。 list.insert()
是具有索引的list.pop()
的倒數;在給定索引處插入給定值。
list.pop()
方法是del listobject[index]
的替代方法,因爲它將返回要刪除的索引處的值。
注意,Python列表不限於被用作堆棧或隊列,並list.pop()
是以後除了list
類型,使去除和 - 返回更有效。
+1我完全忘了'insert' :) –
哇,太好了。你回答了我所有的問題。我現在理解完美。非常感謝! –
流行很討厭不這樣做:
popped = my_list[-1]
my_list = my_list[:-1]
剛剛相反:
popped = my_list.pop()
你問題的第二部分已經被人回答了 - 它只是叫追加代替。
或'del my_list [-1]'。 –
@MartijnPieters是的,我有一種更高效的感覺。 –
是的,有點。當然是刪除最後一個元素。刪除* first *元素仍然有效,足以讓它值得一段時間,但內部列表* does *必須重新構建。 –
- 1. Push和Pop對堆棧有什麼意義?
- 2. 對兩個列表使用max函數有什麼意義?
- 3. 建立一個非列表尾的列表有什麼意義?
- 4. 在指令定義中使用$ compile有什麼意義?
- 5. 使用Android Binder類有什麼意義?
- 6. 這樣使用EventHandler有什麼意義?
- 7. 使用.class對象有什麼意義?
- 8. 使用@synthesized getter有什麼意義?
- 9. c#使用SET有什麼意義?
- 10. 使用「rm -P」有什麼意義?
- 11. 遷移列選項有什麼意義?
- 12. ngOnInit()在Angular中有什麼意義?
- 13. 。:在classpath中有什麼意義?
- 14. #在SQL中有什麼意義?
- 15. 在Angular中,服務有什麼意義?
- 16. 爲什麼在aspx.cs中page_load有意義?
- 17. //在bash中有什麼意義?
- 18. do |和&在Java中有什麼意義?
- 19. Q_PROPERTY在Qt中有什麼意義?
- 20. WaitEntilDOne在performSelectorOnMainThread中有什麼意義?
- 21. - >在Objective-C中有什麼意義?
- 22. 命名錶單有什麼意義?
- 23. Authlogic - 「會話」表有什麼意義?
- 24. 代表示例有什麼意義
- 25. 在C++中使用字符串資源有什麼意義?
- 26. 在MVC Razor視圖中使用@RenderBody有什麼意義?
- 27. 在NIO中使用UDP有什麼意義?
- 28. 在EJB中使用@Scoped有什麼意義?
- 29. 在javascript中使用「return!0」有什麼意義嗎?
- 30. 在NSCache中使用NSPurgeabledata有什麼意義?
我假設你是Python?如果是這樣,我同意。有左和右的概念,你需要知道哪一個「追加」附加。我想,有點令人費解。 – mcsilvio