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.