Khi được yêu cầu nhóm các phần tử liền kề của một chuỗi có trong danh sách, một phương thức được xác định sử dụng "groupby" và "output".
Ví dụ
Dưới đây là một minh chứng về điều tương tự
from itertools import groupby def string_check(elem): return isinstance(elem, str) def group_string(my_list): for key, grp in groupby(my_list, key=string_check): if key: yield list(grp) else: yield from grp my_list = [52, 11, 'py', 'th', 'on', 11, 52, 'i', 's', 18, 'f', 'un', 99] print("The list is :") print(my_list) my_result = [*group_string(my_list)] print("The result is:") print(my_result)
Đầu ra
The list is : [52, 11, 'py', 'th', 'on', 11, 52, 'i', 's', 18, 'f', 'un', 99] The result is: [52, 11, ['py', 'th', 'on'], 11, 52, ['i', 's'], 18, ['f', 'un'], 99]
Giải thích
-
Một phương thức có tên là ‘string_check’ được định nghĩa sẽ nhận một danh sách làm tham số và kiểm tra xem nó có thuộc một loại phiên bản nhất định hay không.
-
Một phương thức khác có tên là ‘group_string’ được xác định sẽ nhận một danh sách làm tham số và sử dụng lợi nhuận để trả về kết quả đầu ra bằng phương thức ‘groupby’.
-
Bên ngoài phương thức, một danh sách được xác định và hiển thị trên bảng điều khiển.
-
‘Group_string’ được gọi và kết quả được gán cho một biến.
-
Điều này được hiển thị dưới dạng đầu ra trên bảng điều khiển.