Python:降低复杂性的建议

ysp*_*ysp 2 python algorithm loops function

任务:给定一个长度为N且从0到N-1索引的字符串S,将其偶数索引和奇数索引字符作为2个空格分隔的字符串打印在一行上.

输入格式:第一行包含一个整数T(测试用例数).T个后续行的每一行i包含一个字符串S ,.

约束条件:范围内的T(1,11),范围内的字符串S的len(2,10001).

T = int(input().strip())
if T in range(1,11):
    for i in range(T):
        S = str(input().strip())
        arr= []
        arr +=S
        #print(arr[1])
        eve = []
        odd = []
        if len(arr) in range(2,10001):
            for n in range(0,len(arr)):
                if n%2 ==0:
                    eve.append(arr[n])
                else:
                    odd.append(arr[n])
        eve1 = ''.join(eve)
        odd1 = ''.join(odd)
        print(eve1,odd1)
Run Code Online (Sandbox Code Playgroud)

Bre*_*bel 7

您可以通过对字符串使用高级切片来简化代码

s = input().strip()
print(s[::2], s[1::2])
Run Code Online (Sandbox Code Playgroud)

对于 s[i:j:k]

i 是起始索引,如果省略,它只是使用 0

j 是结束索引,如果省略,它只是使用 len(s)

k 是步长值,因此它将按顺序迭代该量.

因此,对于偶数索引字符,我们从索引开始0并逐步浏览所有其他字符.对于奇数索引字符,我们只是从1索引开始并获取所有其他字符.