在python中使用列表转换字符串

在python中使用列表转换字符串,python,arrays,Python,Arrays,我一直在尝试通过从给定的字符串输入连续反转特定字符串来重新排列字符串,并且限制作为输入给定 比如说 限制为3 如果输入为Hellothegamestarts 输出必须是HELTOLHEGAMASTER 它保存在单独的数组中 代码是: while True: t = int(input()) if t == 0: break string = raw_input() string = string.encode('utf-8') leng

我一直在尝试通过从给定的字符串输入连续反转特定字符串来重新排列字符串,并且限制作为输入给定

比如说 限制为3

如果输入为Hellothegamestarts

输出必须是HELTOLHEGAMASTER 它保存在单独的数组中 代码是:

while True: 
    t = int(input())
    if t == 0:
        break

    string = raw_input()
    string = string.encode('utf-8')
    leng = len(string)
    r = t/leng
    m = []
    leng = 0

    for i in range(r):
        if r % 2 == 0:
            l = 0
            l = leng + t
            for i in range(t):
                temp = string[l]
                m.append(temp)
                l = l - 1
            r = r + 1


            leng = leng + t

        else:
            l = 0
            l = leng

            for i in range(t):
                temp = string[l]
                m.append(temp)
                l = l + 1

            r = r + 1


            leng = leng + t


    print m
我得到的输出是[],并请求t的下一个输入

非常感谢您的帮助。

也许您可以试试-

t = int(input())
if t == 0:
    break;

string = raw_input()
m = ''
leng = len(string)
i = 0
while i < leng:
    if (i/t) % 2 != 0:
        m = m + string[i+t-1:i-1:-1]
    else:
        m = m + string[i:i+t]
    i = i + t
print(m)
t=int(输入())
如果t==0:
打破
字符串=原始输入()
m=''
长度=长度(字符串)
i=0
而我
也许你可以试试-

t = int(input())
if t == 0:
    break;

string = raw_input()
m = ''
leng = len(string)
i = 0
while i < leng:
    if (i/t) % 2 != 0:
        m = m + string[i+t-1:i-1:-1]
    else:
        m = m + string[i:i+t]
    i = i + t
print(m)
t=int(输入())
如果t==0:
打破
字符串=原始输入()
m=''
长度=长度(字符串)
i=0
而我
也许你可以试试-

t = int(input())
if t == 0:
    break;

string = raw_input()
m = ''
leng = len(string)
i = 0
while i < leng:
    if (i/t) % 2 != 0:
        m = m + string[i+t-1:i-1:-1]
    else:
        m = m + string[i:i+t]
    i = i + t
print(m)
t=int(输入())
如果t==0:
打破
字符串=原始输入()
m=''
长度=长度(字符串)
i=0
而我
也许你可以试试-

t = int(input())
if t == 0:
    break;

string = raw_input()
m = ''
leng = len(string)
i = 0
while i < leng:
    if (i/t) % 2 != 0:
        m = m + string[i+t-1:i-1:-1]
    else:
        m = m + string[i:i+t]
    i = i + t
print(m)
t=int(输入())
如果t==0:
打破
字符串=原始输入()
m=''
长度=长度(字符串)
i=0
而我
或者您也可以试试这个

def  myfunc(s, count):
     return [''.join(x) for x in zip(*[list(s[z::count]) for z in range(count)])]

a='Hellothegamestarts'
lst=myfunc(a,3)
print "".join([i if lst.index(i) in range(0,len(lst),2) else i[::-1] for i in lst])

我的乐趣不是我写的。它来自于

或者你可以试试这个

def  myfunc(s, count):
     return [''.join(x) for x in zip(*[list(s[z::count]) for z in range(count)])]

a='Hellothegamestarts'
lst=myfunc(a,3)
print "".join([i if lst.index(i) in range(0,len(lst),2) else i[::-1] for i in lst])

我的乐趣不是我写的。它来自于

或者你可以试试这个

def  myfunc(s, count):
     return [''.join(x) for x in zip(*[list(s[z::count]) for z in range(count)])]

a='Hellothegamestarts'
lst=myfunc(a,3)
print "".join([i if lst.index(i) in range(0,len(lst),2) else i[::-1] for i in lst])

我的乐趣不是我写的。它来自于

或者你可以试试这个

def  myfunc(s, count):
     return [''.join(x) for x in zip(*[list(s[z::count]) for z in range(count)])]

a='Hellothegamestarts'
lst=myfunc(a,3)
print "".join([i if lst.index(i) in range(0,len(lst),2) else i[::-1] for i in lst])

我的乐趣不是我写的。它来自于

把块分成3块,把奇怪的块倒过来,例如:

import re

s = 'Hellothegamestarts'
r = ''.join(
    el if idx % 2 == 0 else el[::-1] 
    for idx, el in enumerate(re.findall('.{,3}', s))
)
# Heltolhegemastastr

把这些块分成3块,把奇数块倒过来,例如:

import re

s = 'Hellothegamestarts'
r = ''.join(
    el if idx % 2 == 0 else el[::-1] 
    for idx, el in enumerate(re.findall('.{,3}', s))
)
# Heltolhegemastastr

把这些块分成3块,把奇数块倒过来,例如:

import re

s = 'Hellothegamestarts'
r = ''.join(
    el if idx % 2 == 0 else el[::-1] 
    for idx, el in enumerate(re.findall('.{,3}', s))
)
# Heltolhegemastastr

把这些块分成3块,把奇数块倒过来,例如:

import re

s = 'Hellothegamestarts'
r = ''.join(
    el if idx % 2 == 0 else el[::-1] 
    for idx, el in enumerate(re.findall('.{,3}', s))
)
# Heltolhegemastastr

恐怕你应该重新考虑你的问题;至少我不明白你在算法中投入了什么,想从中得到什么。你为什么要使用
input()
raw\u input()
?你知道它们不同吗?恐怕你应该重新考虑你的问题;至少我不明白你在算法中投入了什么,想从中得到什么。你为什么要使用
input()
raw\u input()
?你知道它们不同吗?恐怕你应该重新考虑你的问题;至少我不明白你在算法中投入了什么,想从中得到什么。你为什么要使用
input()
raw\u input()
?你知道它们不同吗?恐怕你应该重新考虑你的问题;至少我不明白你在算法中投入了什么,想从中得到什么。你为什么要使用
input()
raw\u input()
?您知道它们是不同的吗?请参阅,以获取将字符串拆分为3块的几种可选方法。也就是说,如果已经使用了
itertools
,那么最好使用
[False,True,False,True,…]
压缩数据块,然后只反转那些
True
的元素。有关将字符串拆分为3个数据块的几种替代方法,请参阅。也就是说,如果已经使用了
itertools
,那么最好使用
[False,True,False,True,…]
压缩数据块,然后只反转那些
True
的元素。有关将字符串拆分为3个数据块的几种替代方法,请参阅。也就是说,如果已经使用了
itertools
,那么最好使用
[False,True,False,True,…]
压缩数据块,然后只反转那些
True
的元素。有关将字符串拆分为3个数据块的几种替代方法,请参阅。也就是说,如果已经使用了
itertools
,那么最好使用
[False,True,False,True,…]
压缩块,然后只反转那些
True
的元素。