seq = b'A'
chunk_size = 4
first_partition=1
rv = seq[0:first_partition].join(
[b'A'] * (chunk_size - first_partition))
输出:
rv = b'AAAAA'
为什么rv的值是5 b'A'而不是4?
只要把它分解出来,看看你实际在做什么:
>>> seq[0:first_partition]
b'A'
>>> [b'A'] * (chunk_size - first_partition)
[b'A', b'A', b'A']
如果你用一个A
作为分隔符加入3个A
,你会得到5个A
。
这里有一个等价的:
>>> '-'.join('OOO')
'O-O-O'
您正在使用b'A'作为分隔符加入3个b'A'([b'A',b'A'