Computer >> Máy Tính >  >> Lập trình >> Python

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

Trong hướng dẫn này, chúng ta sẽ viết một chương trình chia chuỗi đã cho thành các phần bằng nhau. Hãy xem một ví dụ.

Đầ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

Chúng tôi sẽ sử dụng zip_longest phương pháp từ itertools để đạt được kết quả.

Phương pháp zip_longest lấy trình lặp như đối số. Chúng tôi cũng có thể vượt qua giá trị lấp đầy để phân vùng chuỗi. Nó sẽ trả về danh sách các bộ giá trị chứa các ký tự có số lượng bằng nhau.

zip_longest trả về một bộ giá trị trên mỗi lần lặp cho đến khi bộ lặp dài nhất trong bộ đã cho hết. Và bộ tuple chứa độ dài các ký tự đã cho từ các trình vòng lặp.

Ví dụ

# importing itertool module
import itertools
# initializing the string and length
string = 'Tutorialspoint'
each_part_length = 5
# storing n iterators for our need
iterator = [iter(string)] * each_part_length
# using zip_longest for dividing
result = list(itertools.zip_longest(*iterator, fillvalue='X'))
# converting the list of tuples to string
# and printing it
print(' '.join([''.join(item) for item in result]))

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

Tutor ialsp ointX

Ví dụ

# importing itertool module
import itertools
# initializing the string and length
string = 'Tutorialspoint'
each_part_length = 6
# storing n iterators for our need
iterator = [iter(string)] * each_part_length
# using zip_longest for dividing
result = list(itertools.zip_longest(*iterator, fillvalue='X'))
# converting the list of tuples to string
# and printing it
print(' '.join([''.join(item) for item in result]))

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

Tutori alspoi ntXXXX

Kết luận

Nếu bạn có nghi ngờ trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.