Home > Net >  Divide list into 2 subsets until fixed size - Python
Divide list into 2 subsets until fixed size - Python

Time:04-27

I have a string consisting with bits 0/1 of 128 length I want to divide the string into 2 subsets until chunks of 16 as length
example of input

01111111001101100110111100100100010001100001111010001010010011110011001011101100111111001100100101101011111110001111010111000110

expected output

round 2 (2 set 64)
0111111100110110011011110010010001000110000111101000101001001111
0011001011101100111111001100100101101011111110001111010111000110

round 3 (4 set 32)
01111111001101100110111100100100
01000110000111101000101001001111
00110010111011001111110011001001
01101011111110001111010111000110

round 4 (8 set 16)
0111111100110110
0110111100100100
0100011000011110
1000101001001111
0011001011101100
1111110011001001
0110101111111000
1111010111000110

if there is any fast way without using

n = len(chunk)//2
chunks = [chunk[i:i n] for i in range(0, len(chunk), n)]

and for each chunk I have to do a loop do the same thing

CodePudding user response:

Here is what are you trying to do.

chunk = "01111111001101100110111100100100010001100001111010001010010011110011001011101100111111001100100101101011111110001111010111000110"
chunks = [chunk[j:j i] for i in [64,32, 16] for j in range(0, len(chunk), i)]
for i in chunks:
    print(i)

Output

0011001011101100111111001100100101101011111110001111010111000110
01111111001101100110111100100100
01000110000111101000101001001111
00110010111011001111110011001001
01101011111110001111010111000110
0111111100110110
0110111100100100
0100011000011110
1000101001001111
0011001011101100
1111110011001001
0110101111111000
1111010111000110
  • Related