Python Check If List Is Empty: วิธีตรวจสอบว่าลิสต์ว่างหรือไม่
มีหลายวิธีตรวจสอบว่าลิสต์ว่างหรือไม่ วิธีแรกที่ครอบคลุมด้านล่าง if list returns as false เป็นวิธีที่ pythonic ที่สุด กล่าวคือ วิธีที่ผู้คนแนะนำมากที่สุดใน Python วิธีอื่นๆ ที่เราจะพูดถึง ถูกต้องตามความหมาย (semantically correct - หมายถึงคอมไพล์และรันได้) แต่ไม่ถือเป็นรูปแบบที่ดี
ในโพสต์นี้ เราจะดูวิธีตรวจสอบว่าลิสต์ว่างใน Python เราจะครอบคลุมหลายวิธีตรวจสอบลิสต์:
- ตรวจสอบว่าค่าลิสต์คืนค่า true หรือ false
- ใช้
len() - เปรียบเทียบลิสต์กับลิสต์ว่าง
ก่อน มาดูเร็วๆ ว่าลิสต์คืออะไร
Python Lists คืออะไร?
Python lists เป็นวิธีจัดเก็บรายการต่างๆ รวมกัน เช่น หากฉันต้องการจัดกลุ่มรายการซื้อของชำเป็นตัวแปรเดียว ฉันจะใช้ลิสต์ แทนที่จะเขียนตัวแปรแต่ละรายการ การประกาศรายการที่เกี่ยวข้องทั้งหมดในลิสต์เดียว ประหยัดเวลา เพราะไม่ต้องประกาศตัวแปรหลายตัว
grocerylist = ["eggs", "fruits", "kale", "grapefruits"]
อย่างนั้น เมื่อฉันต้องการดูรายการซื้อของฉัน ฉันสามารถใช้คำสั่ง print เดียว:
print(grocerylist) # ['eggs', 'fruits', 'kale', 'grapefruits']
ลิสต์ไม่จำเป็นต้องมีแค่สตริงเหมือนตัวอย่างข้างต้น อาจมีค่าอื่นๆ เช่น boolean (true หรือ false) หรือตัวเลข หรือแม้แต่การผสมผสานของเหล่านี้
Python Check if List is Empty: False Values
ใน Python sequences เช่น strings, tuples, และ lists คืนค่า false หากว่าง และคืนค่า true หากไม่ว่าง
ค่าของออบเจ็กต์ใดๆ รวมถึงลิสต์ สามารถประเมินเป็นค่า boolean คือ true หรือ false และค่านี้จะคืนกลับมา ในกรณีของลิสต์ออบเจ็กต์ ทุกตัวมีค่า true เว้นแต่จะว่าง การรู้ค่านี้ช่วยในคำสั่งเงื่อนไข เช่น if statements ด้านล่าง ตามผลลัพธ์ที่คืนมา (ซึ่งในกรณีนี้บอกว่าลิสต์ว่างเปล่าหรือไม่) คุณตัดสินใจได้ว่าจะดำเนินการอะไร
ourList = []
ตรวจสอบว่าลิสต์ของเรา ไม่ คืนค่า true:
if not ourList:
print("The list is empty") # This will return: The list is empty
ทางเลือกอื่น คุณสามารถตรวจสอบว่าลิสต์เป็น true หากลิสต์ไม่ว่าง คุณรู้ว่าสามารถดำเนินการอย่างพิมพ์ลิสต์และค่าจะแสดงบนหน้าจอ!
if ourList:
print("The list is not empty") # Since ourList is empty this line will not print-- nothing will print to the screen
การระบุชื่อลิสต์เพียงอย่างเดียวพร้อม if จะทำให้ Python ประเมินว่าลิสต์เป็น true หรือ false ขึ้นอยู่กับว่าลิสต์มีไอเทมหรือว่าง
การใช้ len()
คุณสามารถใช้ฟังก์ชันความยาว len() ตรวจสอบความยาวของลิสต์ ต่อความคุณจะตรวจสอบความว่าง ตาม Python style guide ไม่แนะนำให้ใช้ len() ตรวจสอบความว่าง เพราะคุณสามารถตรวจสอบด้วยค่า boolean ภายในซึ่งเป็นตัวเลือกที่สง่างามและตรงไปตรงมากว่า การใช้ len() จริงๆ ต้องการการตรวจสอบมากกว่าโดย Python ข้างหลัง
ourList = []
if statement ด้านล่างถามว่า ourList มีค่าความยาวหรือไม่ หากมี จะพิมพ์คำสั่งของเรา:
if len(ourList):
print("The list is not empty") # Since ourList is empty, this line will not print-- nothing will print to the screen
if statement ด้านล่างจะถามว่า ourList ไม่มีค่าความยาว หากเป็นเช่นนั้น จะพิมพ์คำสั่ง:
if not len(ourList):
print("The list is empty") # The list is empty
อีกวิธีใช้ len() คือเปรียบเทียบผลลัพธ์ความยาวกับ "0"
if len(ourList) == 0:
print("The list is empty") # The list is empty
การเปรียบเทียบกับลิสต์ว่าง
เรายังสามารถเปรียบเทียบลิสต์ของเรากับลิสต์ว่าง ([]) คุณอาจต้องการทำเช่นนี้หากต้องการให้ชัดเจนว่าคุณกำลังเปรียบเทียบกับอะไร วิธีเปรียบเทียบนี้ก็ไม่ใช่ตัวเลือกที่แนะนำใน Python แม้จะถูกต้องตามความหมาย Python ต้องสร้างลิสต์ที่ไม่จำเป็น ( [] ที่คุณเปรียบเทียบ) และทำการเปรียบเทียบหลังจากนั้น
ourList = []
if ourList == []:
print("The list is empty") # The list is empty
สรุป
เราครอบคลุมหลายวิธีตรวจสอบลิสต์: ด้วยการตรวจสอบว่าความว่างเป็น true หรือ false, ด้วย len(), และด้วยการเปรียบเทียบลิสต์กับลิสต์ว่าง วิธีแรกที่เราครอบคลุม if list returns as false เป็นวิธีที่แนะนำโดย Python style guide คุณสามารถอ้างอิงเอกสาร Python เพื่อดูเพิ่มเติมเกี่ยวกับ programming style guides และดูว่ามีอะไรใหม่ในแต่ละอัปเดต Python
สนใจเรียนรู้เพิ่มเติมเกี่ยวกับ Python? ดูบทความ Python basics และวิธีเริ่มต้นเส้นทางการเรียนรู้ Python โชคดีนะ!