List comprehensions ให้วิธีที่กระชับในการสร้างลิสต์จากลิสต์ที่มีอยู่แล้ว เมื่อใช้ list comprehensions สามารถสร้างลิสต์ได้โดยใช้ iteratable ใดๆ รวมถึงสตริงและ tuple List comprehensions ประกอบด้วย iteratable ที่มีนิพจน์ตามด้วย clause for สามารถตามด้วย clause for หรือ if เพิ่มเติมได้
มาดูตัวอย่างที่สร้างลิสต์จากสตริง:
hello_letters = [letter for letter in 'hello'] print(hello_letters)
จะได้ผลลัพธ์:
['h', 'e', 'l', 'l', 'o']
สตริง hello เป็น iterable และตัวแปร letter จะได้รับค่าใหม่ทุกครั้งที่ลูปทำงาน List comprehension นี้เทียบเท่ากับ:
hello_letters = []
for letter in 'hello':
hello_letters.append(letter)
คุณยังสามารถใส่เงื่อนไขใน comprehension ได้ ตัวอย่างเช่น
hello_letters = [letter for letter in 'hello' if letter != 'l'] print(hello_letters)
จะได้ผลลัพธ์:
['h', 'e', 'o']
สามารถทำนิพจน์ต่างๆ กับตัวแปรได้ ตัวอย่างเช่น
squares = [i ** 2 for i in range(1, 6)] print(squares)
จะได้ผลลัพธ์:
[1, 4, 9, 16, 25]
ยังมีกรณีการใช้งาน comprehensions อีกมากมาย พวกเขา expressive และมีประโยชน์มาก คุณสามารถเรียนรู้เพิ่มเติมได้ที่ DigitalOcean Tutorial