2019年11月13日 星期三

Python List.pop(0)

Python list.pop(0)


     python 的 list 為 dynamic array,python.pop() default 值為 -1
  • python.pop()     # 時間複雜度 : O()
  • python.pop(0)   # 時間複雜度 : O(n)

Python deque.popleft()


     deque = double - ended - queue,deque.popleft() 的時間複雜度為 O(1)

     所以當變數為 list 且頻繁地操作 pop(0),不妨考慮
     tokens = collections.deque(mylist)
     x = tokens.popleft()


參考資料 : https://stackoverflow.com/questions/32543608/deque-popleft-and-list-pop0-is-there-performance-difference

Related Posts:

  • 重新踏入網頁開發 (6) - Express - 3  Express - Middleware     Middleware 是會處理 req, res, next 三個物件並在 routing 時執行之 function,基本上就是 routing 時會處理的 callback function。是 Express 中蠻重要的概念。但用例子來理解比較容易。 import express from 'express' // 建立 express 這… Read More
  • 重新踏入網頁開發 (6) - Express - 4  Express - App v.s. Router     Express 通常都是用 app.Method 來做 request 的 routing。而 Express 4.0 加入的 router 則可視為可以掛載的迷你 app。 import express from 'express' var app = express() var router = express.Router… Read More
  • 讀書心得 - C++ Primer (5th Edition) - Chapter 1 簡單的 C++ 程式     要寫一個 C++ 程式跟 C 一樣,寫好 cpp 檔,交給編譯器 ( g++ ) 編成可執行程式。程式至少包含一個名為 main 的 function,用以當作程式的入口 function。 int main() { return 0; // return 0 的原因為 0 通常代表著程式執行成功。 } Input/Output    … Read More
  • 重新踏入網頁開發 (6) - Express - 1  Express     Fast, unopinionated, minimalist web framework for Node.js,這是 Express 的自我介紹。這裡的 unopinionated 之於 opinionated 較為信任開發者,所以你可以擁有很多作法去達到相同的目的,例如像 PERL/PHP。而 opinionated 的 software 則會只提供一個方法去達到目的,例如撰寫維基百… Read More
  • 重新踏入網頁開發 (6) - Express - 2  Express - Route parameters     Route parameters 可以用來擷取 URL 上的 value。 server.js import express from 'express' // 建立 express 這 module var app = express() const port = 8888 // 回傳 { "… Read More

0 意見:

張貼留言

Popular Posts