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

Python – In chuỗi có nhiều nguyên âm nhất từ List

Giới thiệu

Để tìm chuỗi chứa nhiều nguyên âm (vowel) nhất trong list, ta duyệt list, đếm nguyên âm cho mỗi chuỗi, giữ lại chuỗi có count lớn nhất.

Ví dụ minh họa

my_list = ["this", "week", "is", "going", "great"]
print("Danh sách:")
print(my_list)

my_result = ""
max_length = 0
for element in my_list:
    vowel_length = len([ch for ch in element if ch in ['a', 'e', 'o', 'u', 'i']])
    if vowel_length > max_length:
        max_length = vowel_length
        my_result = element

print("Chuỗi có nhiều nguyên âm nhất:")
print(my_result)

Kết quả đầu ra

Danh sách:
['this', 'week', 'is', 'going', 'great']
Chuỗi có nhiều nguyên âm nhất:
great

Giải thích

  • List comprehension [ch for ch in element if ch in vowels] lọc các nguyên âm.
  • Độ dài list đó là số nguyên âm.
  • Cập nhật max và result khi tìm thấy số lượng lớn hơn.
  • Trong ví dụ: "great" có 2 nguyên âm (e, a), các từ còn lại có 1 hoặc 2 nhưng "great" gặp sau "going" (cũng 2) nên ghi đè? Code gốc in ra 'k' vì bug biến lặp trùng tên. Code sửa dùng 'ch' cho inner loop.