541. 反转字符串 II
class Solution:
    def reverseStr(self, s: str, k: int) -> str:
        t = list(s)
        for i in range(0, len(s), 2*k):
            t[i:i+k] = reversed(t[i:i+k])
        
        return ''.join(t)

        return ''.join([s[i:i+k][::-1] if i%(2*k) == 0 else s[i:i+k] for i in range(0, len(s), k)])

例:

s='abcdefghijklab'
t = list(s)
k=3

for i in range(0, len(s), 2*k):
    t[i:i+k]=t[i:i+k][::-1]

print(t)
# ['c', 'b', 'a', 'd', 'e', 'f', 'i', 'h', 'g', 'j', 'k', 'l', 'b', 'a']
# i 是 k 的整数倍,奇数倍反转、偶数倍原样。
[s[i:i+k] if i%(2*k) else s[i:i+k][::-1] for i in range(0, len(s), k)]
# ['cba', 'def', 'ihg', 'jkl', 'ba']