deque ที่ทำความเร็วได้ดีกว่าการใช้
list.append(elem)
และ list.pop(0)
สร้างคิวเองอีกประเด็ตที่น่าสนใจคือ deque สามารถจำกัดขนาดได้ครับ
ระวังไว้หน่อยตอนที่เพิ่มค่าเข้าไปจนล้น มันไม่ได้คืนตัวที่โดนปัดทิ้งให้นะ
defaultdict ที่จะสร้างค่าเริ่มต้นให้เสมอเมื่อเรียกใช้ index ตัวที่ยังไม่มีใน dict
และจะเห็นความง่ายของมันเมื่อสร้าง dict ที่เก็บ list ของ key ที่ซ้ำกันได้
namedtuple สำหรับสร้าง tuple ที่มีชื่อสำหรับเรียกแทนตัวแปรต่างๆ (หรืออาจมองว่ามันเป็น struct ที่สามารถเรียกตำแหน่งได้จากทั้งตำแหน่งและชื่อก็ได้)
สังเกตความสะดวกในการประกาศตัวแปรชุด xyz นะครับ
This comment has been removed by the author.
ReplyDeletenamedtuple ดูใช้ง่ายดี อ่านโค้ดง่ายขึ้นด้วย (ถ้าใช้ชื่อเรียก แทนที่จะใช้ตำแหน่ง)
ReplyDeleteอ้อ โพสต์นี้ลืมใส่ Label นะครับ
ขอเสียหลักๆ สำหรับท่านที่ไม่ได้มาจากสาย functional คือมันเป็น tuple ไม่สามารถเปลี่ยนค่าได้นะครับ ;)
Deleteอันนี้ก็ต้องเลือกตัวแปรให้เหมาะสมกับงานที่จะใช้ เหมือนกับที่ตอนที่เลือก int, float หรือ decimal นั่นแหละครับ
Delete