20 Python Snippets You Should Learn Today

08-Nov-19

คัมภีร์เทพ IT

See the original english version Click here!

 

ประเด็นเรื่อง Readability และ Simplicity ถือเป็น 2 เหตุผลหลักที่ทำให้ Python ได้รับความนิยมเป็นอย่างมาก ปรัชญาของ Python คือ Beautiful is better than ugly. Explicit is better than implicit. นี่คือเหตุผลว่า ทำไมคุณจึงควรจดจำเคล็ดลับของ Python เพื่อช่วยปรับปรุงการออกแบบ Code ของคุณ วันนี้เรามาดู 20 Python Snippets ที่คุณสามารถนำไปใช้ในการทำงานได้

1. การ Reverse String

ตัวอย่างต่อไปนี้ เป็นการ Reverse String โดยใช้ Python Slicing Operation

2. การใช้ Title Case (ทำให้อักษรตัวแรกของคำให้เป็นตัวพิมพ์ใหญ่)

ตัวอย่างต่อไปนี้ สามารถใช้ในการแปลง String ตัวแรกให้เป็นตัวพิมพ์ใหญ่ สิ่งนี้ทำได้โดยใช้ title () Method ของ String Class

3. ค้นหา Unique Elements ใน String

ตัวอย่างต่อไปนี้ เราสามารถใช้เพื่อค้นหา Element ที่ไม่ซ้ำกันใน String เราใช้ Property ที่ Elements ทั้งหมดใน Set ไม่ซ้ำกัน

4. Print String หรือ List เป็นจำนวน n ครั้ง

คุณสามารถใช้การคูณ (*) กับ String หรือ List ได้ สิ่งนี้ช่วยให้คุณสามารถเพิ่มจำนวนพวกมันได้มากเท่าที่คุณต้องการ

Use Case ที่น่าสนใจของเรื่องนี้ อาจเป็นการกำหนด List ที่มีค่าคงที่ สมมติว่าเป็น 0 (ศูนย์)

5. List Comprehension

List Comprehension จะช่วยทำให้เรามีวิธีการสร้าง List ที่น่าสนใจมากยิ่งขึ้น

ตัวอย่างต่อไปนี้ เป็นการสร้าง List ใหม่ โดยการคูณ แต่ละ Element ของ List เก่าด้วย 2

6. สลับค่าระหว่างตัวแปร 2 ตัว

Python ทำให้การสลับค่าระหว่างตัวแปร 2 ตัว ทำได้อย่างง่ายดาย โดยไม่ต้องใช้ตัวแปรอื่น ๆ

7. แบ่ง String ออกเป็น List ของ Substrings

เราสามารถแบ่ง String ออกเป็น List ของ Substring โดยใช้ .split() Method ใน String Class นอกจากนี้คุณยังสามารถส่งผ่าน Argument เป็นตัวคั่น (/) ในสิ่งที่คุณต้องการจะแบ่งแยกมัน

8. รวม List ของ Strings ลงใน String เดียว

join() Method จะรวม List ของ Strings ที่ส่งผ่านเป็น Argument ลงใน String เดียว โดยในกรณีของเรา เราแยกพวกมันออกโดยใช้จุลภาค (,) เป็นตัวคั่น

9. ตรวจสอบว่า String ที่กำหนดให้ เป็น Palindrome หรือไม่

ในข้อแรก ๆ เราได้พูดถึง วิธีการ Reverse String กันไปแล้ว ดังนั้น Palindromes จึงกลายเป็น Program ที่ไม่มีอะไรซับซ้อนมากนักใน Python

10. ความถี่ของ Elements ใน List

มีหลายวิธีที่สามารถใช้ทำแบบนี้ได้ แต่มีอีกวิธีที่แนะนำก็คือ การใช้ Python Counter Class

Python Counter จะทำการหาความถี่ของแต่ละ Element ใน Container และ Counter() จะ Returns Dictionary ด้วย Elements เป็น Keys และ ความถี่ เป็น Values

นอกจากนี้เรายังใช้ most_common() Function เพื่อรับ most_frequent element ใน List

11. หาว่ามี 2 String ที่เป็น Anagram หรือไม่

การนำไปประยุกต์ใช้ที่น่าสนใจของ Counter Class ก็คือ การหา Anagram

Anagram คือ คำหรือวลีที่เกิดขึ้นจากการจัดเรียงตัวอักษรของคำหรือวลีที่แตกต่างกันขึ้นมาใหม่

ถ้า Counter Objects ของ 2 Strings มีค่าเท่ากัน พวกมันก็จะเป็น Anagram

12. การใช้ Try-Except-Else Block

การจัดการกับข้อผิดพลาด (Error Handling) ใน Python สามารถทำได้อย่างง่ายดายโดยใช้ Try / Except Block การเพิ่มคำสั่ง Else ลงไปใน Block นี้อาจมีประโยชน์ยิ่งขึ้น มันจะทำงานเมื่อไม่มี Exception ใน Try Block

หากคุณต้องการเรียกใช้บางสิ่ง โดยที่ไม่คำนึงถึง Exception ให้ใช้ Finally

13. ใช้ Enumerate เพื่อแจกแจง Index/Value

Script ต่อไปนี้ ใช้สำหรับการแจกแจงการ Iterate ค่า ใน List พร้อมกับ Index ของแต่ละค่า

14. ตรวจสอบการใช้ Memory ของ Object

Script ต่อไปนี้ สามารถใช้เพื่อตรวจสอบการใช้ Memory ของ Object 

15. การรวม 2 Dictionaries

ใน Python 2 เราใช้ update() Method เพื่อรวม (Merge) 2 Dictionaries แต่ใน Python 3.5 ช่วยทำให้กระบวนการนี้ง่ายขึ้น

ใน Script ด้านล่างนี้ 2 Dictionaries ถูกรวมเข้าด้วยกัน ค่าจาก Dictionary ตัวที่สอง จะถูกใช้ในกรณีของ Intersections

16. เวลาที่ใช้ในการ Execute Code

ตัวอย่างต่อไปนี้ ใช้ time Library เพื่อคำนวณเวลาที่ใช้ในการประมวลผล Code

17. การกระจาย List ของ Lists

บางครั้งคุณอาจไม่แน่ใจ เกี่ยวกับความลึกที่ซ้อน ๆ กัน (Nested Depth) ของ List ของคุณ และคุณต้องการทราบ Elements ทั้งหมดใน List เหล่านั้น
นี่คือวิธีที่คุณจะได้มันมา:

Numpy Flatten เป็นวิธีที่ดีกว่าในการทำเช่นนี้ หากคุณมี Array ที่ถูกจัดรูปแบบอย่างถูกต้องแล้ว

18. Sampling จาก List

ตัวอย่างต่อไปนี้ เป็นการสร้างตัวอย่างแบบสุ่ม (Random Samples) n จำนวน จาก List ที่กำหนดโดยใช้ random Library

นอกจากนี้ขอแนะนำ secrets Library สำหรับการสร้างตัวอย่างแบบสุ่มเพื่อวัตถุประสงค์ในการเข้ารหัส (Cryptography) โดยตัวอย่างต่อไปนี้จะสามารถใช้งานได้กับ Python 3 เท่านั้น

19. Digitize

ในตัวอย่างด้านล่างนี้ จะเป็นการแปลงจำนวนเต็ม (Integer) ไปเป็น List ของตัวเลข (Digit) 

20. ตรวจสอบความเป็นเอกลักษณ์ (Uniqueness)

Function ต่อไปนี้ จะเป็นการตรวจสอบว่า Elements ทั้งหมดใน List เป็น Unique หรือไม่

สรุป

นี่เป็นตัวอย่างส่วนหนึ่งที่น่าจะมีประโยชน์ในงานประจำวันของคุณ ซึ่ง 30 seconds of python น่าจะช่วยคุณได้มากขึ้นหากคุณกำลังศึกษาในเรื่องเหล่านี้อยู่

ที่มา:  https://medium.com/

 

ดูตำแหน่งงานที่ใช้ทักษะภาษา Python ได้ที่นี่

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด