การทำความเข้าใจรายการเป็นวิธีที่กระชับในการสร้างรายการตามรายการที่มีอยู่ เมื่อใช้ list comprehensions สามารถสร้าง list ได้โดยใช้ประโยชน์จาก iterable ใดๆ รวมทั้ง strings และ tuples รายการความเข้าใจประกอบด้วย iterable ที่มีนิพจน์ตามด้วย a สำหรับอนุประโยค ซึ่งสามารถตามด้วยเพิ่มเติม for หรือ if clauses ได้
มาดูตัวอย่างที่สร้างรายการโดยใช้สตริง:
hello_letters = [letter for letter in 'hello'] print(hello_letters)
สิ่งนี้จะให้ผลลัพธ์:
['h', 'e', 'l', 'l', 'o']
สตริง สวัสดี สามารถวนซ้ำได้ และจดหมายจะได้รับการกำหนดค่าใหม่ทุกครั้งที่วนซ้ำนี้ ความเข้าใจรายการนี้เทียบเท่ากับ:
hello_letters = [] for letter in 'hello': hello_letters.append(letter)
คุณยังสามารถใส่เงื่อนไขในการทำความเข้าใจได้อีกด้วย ตัวอย่างเช่น
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]
ความเข้าใจเหล่านี้มีกรณีการใช้งานอื่นๆ อีกมากมาย พวกเขาค่อนข้างแสดงออกและมีประโยชน์ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ได้ที่ https://www.digitalocean.com/community/tutorials/understanding-list-comprehenions-in-python-3