Cách dùng hàm count() trong Python
Để chứng minh ứng dụng của từ điển trong thực tế. Giả sử, tôi có một chuỗi là “wellcom to lap trinh khong kho”. Show Vậy bây giờ làm thế nào để đếm các kí tự hay đếm các từ xuất hiện trong chuỗi trên. NỘI DUNG BÀI VIẾT Đếm các kí tự xuất hiện trong chuỗiÝ tưởng đầuÝ tưởng đầu tiên mà mình nghĩ ra khi làm bài này là tạo một chuỗi chars gồm các kí tự trong bảng chữ cái, dùng vòng for để duyệt qua chuỗi cần đếm. Dùng hàm 1 2 3 4 5 6 7 chars = "abcdefghijklmnopqrstuvwxyz" check_string = "wellcom to lap trinh khong kho"
for char in chars: count = check_string.count(char) if count > 1: print(char, count) Nhưng nếu làm bằng cách trên thì sẽ phải duyệt chuỗi bằng số lần mà độ dài chuỗi cần xét có, Và bạn cũng không thể đếm được toàn bộ kí tự, vì lỡ như ở trong chuỗi cần duyệt có những kí tự đặc biệt như:#,$,%,^,&… mà ở trong chuỗi chars không có. Có một cách khác mà chỉ cần duyệt qua một lần mà vẫn có thể đếm được số lần các kí tự đó xuất hiện. Bằng cách tạo một dictionary, với cặp 1 2 3 4 5 6 7 8 9 10 11 string = 'wellcom to lap trinh khong kho' count={} for i in string: if i in count: count[i] +=1 else: count[i] = 1
print(count) #retun {'w': 1, 'e': 1, 'l': 3, 'c': 1, 'o': 4, 'm': 1, # ' ': 5, 't': 2, 'a': 1, 'p': 1, 'r': 1, 'i': 1, 'n': 2, 'h': 3, 'k': 2, 'g': 1} Câu điều kiện Bằng cách trên thì bạn có thể đếm được toàn bộ các kí tự mà không bỏ qua bất cứ một kí tự nào. Vậy là ta đã đếm được số lần kí tự xuất hiện các kí tự xuất hiện trong chuỗi. Để code nhìn đẹp và dễ đọc hơn ta có thể sắp xếp chúng tăng dần theo số lần xuất hiện. Sử dụng cách sắp xếp theo value mà mình đã nói đến trong bài trước. 1 2 for i in sorted(count, key=count.get, reverse=False): print(i, count[i]) kết quả: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 w 1 e 1 c 1 m 1 a 1 p 1 r 1 i 1 g 1 t 2 n 2 k 2 l 3 h 3 o 4 5 Code hoàn chỉnh:1 2 3 4 5 6 7 8 9 10 string = 'wellcom to lap trinh khong kho' count={} for i in string: if i in count: count[i] +=1 else: count[i] = 1
for i in sorted(count, key=count.get, reverse=False): print(i, count[i]) Đếm các từ xuất hiện trong chuỗiViệc bạn cần làm đầu tiên là tách cách từ ra và tạo thành một danh sách. 1 2 3 4 string = 'wellcom to lap trinh khong kho' str = string.split(" ") print(str) #return ['wellcom', 'to', 'lap', 'trinh', 'khong', 'kho'] tiếp theo bạn áp dụng cách mà mình đã nói ở trên để đếm số lần các kí tự xuất hiện. 1 2 3 4 5 6 7 8 for i in str: if i in count: count[i]+=1 else: count[i]=1
for i in sorted(count, key=count.get, reverse=False): print(i, count[i]) code hoàn chỉnh:1 2 3 4 5 6 7 8 9 10 11 12 string = 'wellcom to lap trinh khong kho' str = string.split(" ")
count={} for i in str: if i in count: count[i]+=1 else: count[i]=1
for i in sorted(count, key=count.get, reverse=False): print(i, count[i]) Như vậy, mình đã chỉ cho các bạn cách đếm các kí tự, cũng như các từ xuất hiện trong chuỗi. Hi vọng bài viết sẽ giúp các bạn phần nào trong việc học python. |