Tôi thích lặp lại!
def chunk[in_string,num_chunks]:
chunk_size = len[in_string]//num_chunks
if len[in_string] % num_chunks: chunk_size += 1
iterator = iter[in_string]
for _ in range[num_chunks]:
accumulator = list[]
for _ in range[chunk_size]:
try: accumulator.append[next[iterator]]
except StopIteration: break
yield ''.join[accumulator]
## DEMO
>>> string = "a"*32+"b"*32+"c"*32+"d"*32
>>> list[chunk[string,4]]
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'cccccccccccccccccccccccccccccccc', 'dddddddddddddddddddddddddddddddd']
>>> string += "e" # so it's not evenly divisible
>>> list[chunk[string,4]]
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcc', 'ccccccccccccccccccccccccccccccddd', 'ddddddddddddddddddddddddddddde']
Cũng nhanh hơn
>>> timeit.timeit[lambda: list[chunk[string,4]],number=500]
0.047726927170444355
>>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500]
0.20812756575945457
2, mặc dù gần như chắc chắn ít "tốt">>> timeit.timeit[lambda: list[chunk[string,4]],number=500]
0.047726927170444355
>>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500]
0.20812756575945457
Và khá dễ dàng để hack để làm việc với bất kỳ điều gì có thể đi được [chỉ cần giảm
>>> timeit.timeit[lambda: list[chunk[string,4]],number=500]
0.047726927170444355
>>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500]
0.20812756575945457
3 và tích lũy năng suất trừ khi >>> timeit.timeit[lambda: list[chunk[string,4]],number=500]
0.047726927170444355
>>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500]
0.20812756575945457
4]# after a petty hack
>>> list[chunk[[1,2,3,4,5,6,7,8,9,10,11,12],4]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
Nội dung
- Giới thiệu
- Đoạn mã mẫu
- Ví dụ 1: Chia chuỗi thành các khối
- Ví dụ 2: Chuỗi phân chia theo chiều dài
- Ví dụ 3: Chia chuỗi phân chia với độ dài 0 chunk
- Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
- Bản tóm tắt
Để chia một chuỗi thành các khối có độ dài cụ thể, hãy sử dụng danh sách hiểu với chuỗi. Tất cả các khối sẽ được trả lại dưới dạng một mảng.
Chúng ta cũng có thể sử dụng một vòng lặp thời gian để chia danh sách thành các khối có độ dài cụ thể.
Trong hướng dẫn này, chúng ta sẽ học cách chia một chuỗi thành các khối độ dài cụ thể, với sự trợ giúp của các chương trình Python ví dụ chi tiết.
Đoạn mã mẫu
Ví dụ 1: Chia chuỗi thành các khối
n = 3 # chunk length
chunks = [str[i:i+n] for i in range[0, len[str], n]]
Ví dụ 2: Chuỗi phân chia theo chiều dài
Ví dụ 3: Chia chuỗi phân chia với độ dài 0 chunk
Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
str = 'CarBadBoxNumKeyValRayCppSan'
n = 3
chunks = [str[i:i+n] for i in range[0, len[str], n]]
print[chunks]
Bản tóm tắt
Để chia một chuỗi thành các khối có độ dài cụ thể, hãy sử dụng danh sách hiểu với chuỗi. Tất cả các khối sẽ được trả lại dưới dạng một mảng.
['Car', 'Bad', 'Box', 'Num', 'Key', 'Val', 'Ray', 'Cpp', 'San']
Chúng ta cũng có thể sử dụng một vòng lặp thời gian để chia danh sách thành các khối có độ dài cụ thể.3. You can try with different length and different string values.
Ví dụ 2: Chuỗi phân chia theo chiều dài
Ví dụ 3: Chia chuỗi phân chia với độ dài 0 chunk4. Also, we have taken a string such that its length is not exactly divisible by chunk length. In that case, the last chunk contains characters whose count is less than the chunk size we provided.
Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
str = 'Welcome to Python Examples'
n = 4
chunks = [str[i:i+n] for i in range[0, len[str], n]]
print[chunks]
Bản tóm tắt
Để chia một chuỗi thành các khối có độ dài cụ thể, hãy sử dụng danh sách hiểu với chuỗi. Tất cả các khối sẽ được trả lại dưới dạng một mảng.
['Welc', 'ome ', 'to P', 'ytho', 'n Ex', 'ampl', 'es']
Ví dụ 3: Chia chuỗi phân chia với độ dài 0 chunk
Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
str = 'Welcome to Python Examples'
#chunk size
n = 0
chunks = [str[i:i+n] for i in range[0, len[str], n]]
print[chunks]
Bản tóm tắt
Để chia một chuỗi thành các khối có độ dài cụ thể, hãy sử dụng danh sách hiểu với chuỗi. Tất cả các khối sẽ được trả lại dưới dạng một mảng.
Traceback [most recent call last]:
File "example1.py", line 4, in
chunks = [str[i:i+n] for i in range[0, len[str], n]]
ValueError: range[] arg 3 must not be zero
Chúng ta cũng có thể sử dụng một vòng lặp thời gian để chia danh sách thành các khối có độ dài cụ thể.
Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
Bản tóm tắt
Ví dụ 4: Chia chuỗi thành các khối bằng cách sử dụng trong khi vòng lặp
>>> timeit.timeit[lambda: list[chunk[string,4]],number=500]
0.047726927170444355
>>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500]
0.20812756575945457
0Bản tóm tắt
Để chia một chuỗi thành các khối có độ dài cụ thể, hãy sử dụng danh sách hiểu với chuỗi. Tất cả các khối sẽ được trả lại dưới dạng một mảng.
>>> timeit.timeit[lambda: list[chunk[string,4]],number=500]
0.047726927170444355
>>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500]
0.20812756575945457
1Bản tóm tắt
Để chia một chuỗi thành các khối có độ dài cụ thể, hãy sử dụng danh sách hiểu với chuỗi. Tất cả các khối sẽ được trả lại dưới dạng một mảng.
Chúng ta cũng có thể sử dụng một vòng lặp thời gian để chia danh sách thành các khối có độ dài cụ thể.
- Trong hướng dẫn này, chúng ta sẽ học cách chia một chuỗi thành các khối độ dài cụ thể, với sự trợ giúp của các chương trình Python ví dụ chi tiết.
- Sau đây là một đoạn mã nhanh để chia một chuỗi đã cho
5 thành các khối có độ dài cụ thể>>> timeit.timeit[lambda: list[chunk[string,4]],number=500] 0.047726927170444355 >>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500] 0.20812756575945457
6 bằng cách sử dụng danh sách hiểu.>>> timeit.timeit[lambda: list[chunk[string,4]],number=500] 0.047726927170444355 >>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500] 0.20812756575945457
- Ví dụ 1: Chia chuỗi thành các khối
- Trong đó, chúng tôi sẽ lấy một chuỗi
5 và chia chuỗi này thành các khối độ dài>>> timeit.timeit[lambda: list[chunk[string,4]],number=500] 0.047726927170444355 >>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500] 0.20812756575945457
8 bằng cách sử dụng danh sách hiểu.>>> timeit.timeit[lambda: list[chunk[string,4]],number=500] 0.047726927170444355 >>> timeit.timeit[lambda: textwrap.wrap[string,len[string]//4],number=500] 0.20812756575945457
- Chương trình Python