Khi cần sắp xếp các chuỗi theo số lượng dấu câu, ta định nghĩa hàm nhận chuỗi, dùng list comprehension và toán tử in với string.punctuation.
Ví dụ
from string import punctuation
def get_punctuation_count(my_str):
return len([element for element in my_str if element in punctuation])
my_list = ["python@%^", "is", "fun!", "to@#r", "@#$learn!"]
print("Danh sách ban đầu:")
print(my_list)
my_list.sort(key=get_punctuation_count)
print("Kết quả:")
print(my_list)
Kết quả
Danh sách ban đầu: ['python@%^', 'is', 'fun!', 'to@#r', '@#$learn!'] Kết quả: ['is', 'fun!', 'to@#r', 'python@%^', '@#$learn!']
Giải thích
Nhập
punctuationtừ modulestring.Hàm
get_punctuation_countđếm số ký tự trong chuỗi thuộc tập dấu câu.Định nghĩa danh sách chuỗi và hiển thị.
Sắp xếp với
key=get_punctuation_count.In kết quả: chuỗi ít dấu câu nhất đứng đầu.