Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra List rỗng trong Python

Kiểm tra List rỗng trong Python

Có vài cách kiểm tra list rỗng. Cách đầu tiên dưới đây, if list returns as false, là cách pythonic nhất. Nói cách khác, đây là cách người ta khuyên dùng nhất trong Python. Các chiến lược khác ta thảo luận là đúng về mặt ngữ nghĩa (compile và chạy được) nhưng không được coi là hình thức tốt. 

Trong bài này, ta xem cách kiểm tra list rỗng trong Python. Ta sẽ đi qua vài cách kiểm tra list: 

  • kiểm tra giá trị list trả về true hoặc false
  • dùng len()
  • so sánh list với list rỗng

Đầu tiên, hãy nhanh chóng xem lại list là gì. 

List Python là gì?

List Python là cách lưu trữ nhiều mục cùng nhau. Ví dụ, nếu ta muốn gom mục danh sách mua sắm vào một biến, ta dùng list thay vì viết một biến cho mỗi mục. Khai báo tất cả mục liên quan trong một list tiết kiệm thời gian vì không phải khai báo nhiều biến. 

grocerylist = ["eggs", "fruits", "kale", "grapefruits"]

Cách đó, khi ta muốn xem danh sách mua sắm, ta dùng một câu lệnh print đơn:

print(grocerylist) # ['eggs', 'fruits', 'kale', 'grapefruits']

List không phải chỉ chứa chuỗi như ví dụ trên. Có thể chứa giá trị khác như boolean (true hoặc false) hoặc số, thậm chí kết hợp các loại này.

Kiểm tra List rỗng Python: Giá trị False

Trong Python, chuỗi序列 như strings, tuples, và lists trả về false nếu rỗng và true nếu không rỗng. 

Giá trị của bất kỳ đối tượng nào, kể cả list, có thể đánh giá như giá trị boolean, true hoặc false, và giá trị này trả về cho bạn. Trong trường hợp đối tượng list, tất cả có giá trị true trừ khi rỗng. Biết giá trị này hữu ích trong câu lệnh điều kiện như if dưới đây. Dựa trên kết quả trả về (cho biết list có hoàn toàn rỗng), bạn quyết định hành động. 

ourList =[ ]

Kiểm tra list không trả về true:

if not ourList:
    print("Danh sách rỗng") #Sẽ trả về: Danh sách rỗng

Thay vào đó, bạn có thể kiểm tra list true. Nếu list không rỗng, bạn biết thực hiện hành động như in list và giá trị sẽ hiển thị!

if ourList:
    print("Danh sách không rỗng") #Vì ourList rỗng dòng này không in -- không gì in ra màn hình

Chỉ nói tên list cùng với if sẽ làm Python đánh giá list true hoặc false tùy thuộc list có mục hay rỗng.

Dùng len()

Bạn có thể dùng hàm độ dài, len(), kiểm tra độ dài list. Mặc định, bạn kiểm tra sự rỗng của nó. Theo Python style guide không khuyến khích dùng len() kiểm tra rỗng. Vì bạn có thể kiểm tra dùng giá trị boolean nội tại, cách thanh lịch và trực tiếp hơn. Dùng len() thực tế yêu cầu Python kiểm tra nhiều hơn đằng sau. 

ourList =[ ]

Câu lệnh if dưới hỏi ourList có giá trị độ dài không. Nếu có, in câu lệnh:

if len(ourList):
    print("Danh sách không rỗng") #Vì ourList rỗng, dòng này không in -- không gì in ra màn hình

Câu lệnh if dưới hỏi ourList không có giá trị độ dài. Nếu vậy, in câu lệnh:

if not len(ourList):
    print("Danh sách rỗng") #Danh sách rỗng

Cách khác dùng len() là so sánh kết quả độ dài với "0". 

if len(ourList) == 0:
    print("Danh sách rỗng") #Danh sách rỗng

So sánh với List rỗng

Ta cũng có thể so sánh list với list rỗng ([ ]). Bạn có thể muốn làm này nếu muốn nhìn thấy rõ ràng bạn so sánh với gì. Phương pháp so sánh này cũng không phải tùy chọn khuyến khích trong Python, mặc dù đúng ngữ nghĩa. Python phải xây dựng list không cần thiết (list [ ] bạn so sánh), rồi so sánh sau đó. 

ourList =[ ]
if ourList == [ ]:
    print("Danh sách rỗng") #Danh sách rỗng

Kết luận

Ta đã xem vài cách kiểm tra list: bằng kiểm tra rỗng true hoặc false, dùng len(), và so sánh list với list rỗng. Chiến lược đầu tiên, if list returns as false, là cách khuyến khích bởi Python style guide. Bạn có thể tham khảo tài liệu Python xem thêm về programming style guide cũng như xem gì mới trong mỗi cập nhật Python. 

Quan tâm tìm hiểu thêm về Python? Xem bài về Python cơ bản và cách bắt đầu con đường học Python. Chúc may mắn!