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

Chia chuỗi thành các phần bằng nhau (grouper trong Python)

Trong hướng dẫn này, chúng ta viết chương trình chia chuỗi thành các phần bằng nhau.

Đầu vào

string = 'Tutorialspoint'
each_part_length = 5

Đầu ra

Tutor ialsp ointX

Đầu vào

string = 'Tutorialspoint'
each_part_length = 6

Đầu ra

Tutori alspoi ntXXXX

Dùng zip_longest từ module itertools. zip_longest nhận iterators, có thể truyền fillvalue. Trả về list of tuples chứa ký tự số lượng bằng nhau.

Ví dụ

import itertools
string = 'Tutorialspoint'
each_part_length = 5
iterator = [iter(string)] * each_part_length
result = list(itertools.zip_longest(*iterator, fillvalue='X'))
print(' '.join([''.join(item) for item in result]))

Kết quả

Tutor ialsp ointX

Ví dụ

import itertools
string = 'Tutorialspoint'
each_part_length = 6
iterator = [iter(string)] * each_part_length
result = list(itertools.zip_longest(*iterator, fillvalue='X'))
print(' '.join([''.join(item) for item in result]))

Kết quả

Tutori alspoi ntXXXX

Kết luận

itertools.zip_longest chia chuỗi thành nhóm bằng nhau, fillvalue lấp đầy phần thiếu. Hãy bình luận nếu có thắc mắc.