1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết mã Python hiệu quả

Connected

Bài tập

Hương vị cho những gì sắp tới

Trong bài tập này, bạn sẽ khám phá cả cách lặp qua một danh sách theo kiểu Non-Pythonic và Pythonic.

names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']

Giả sử bạn muốn lấy các tên trong danh sách trên có từ sáu ký tự trở lên. Trong các ngôn ngữ lập trình khác, cách làm điển hình là tạo một biến chỉ số (i), dùng i để duyệt qua danh sách và dùng một câu lệnh if để gom các tên có từ sáu ký tự trở lên:

i = 0
new_list= []
while i < len(names):
    if len(names[i]) >= 6:
        new_list.append(names[i])
    i += 1

Hãy cùng khám phá những cách làm Pythonic hơn để thực hiện việc này.

Hướng dẫn 1/3

undefined XP
  • 1

    In danh sách new_list được tạo theo cách Non-Pythonic.

  • 2

    Một cách Pythonic hơn là lặp qua chính các phần tử của names, thay vì dùng biến chỉ số. Hãy in better_list.

  • 3

    Cách Pythonic tốt nhất là dùng list comprehension. Hãy in best_list.