Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python上实现这个反向变体?_Python_Python 3.x_String_Text_Reverse - Fatal编程技术网

如何在python上实现这个反向变体?

如何在python上实现这个反向变体?,python,python-3.x,string,text,reverse,Python,Python 3.x,String,Text,Reverse,命令行linux上的示例 echo fc67e62b625f33d7928fa1958a38a353085f0097cc22c08833850772035889b8 | grep -o .. | tac | paste -sd '' - 我试着在python上找到如何做到这一点,但没有找到。 我想做的是——我试着按照这个规则反转文本中的每一行。 只有我发现的是 txt = "Hello World"[::-1] print(txt) 示例ABCDEF echo ABCDE

命令行linux上的示例

echo fc67e62b625f33d7928fa1958a38a353085f0097cc22c08833850772035889b8 | grep -o .. | tac | paste -sd '' -
我试着在python上找到如何做到这一点,但没有找到。 我想做的是——我试着按照这个规则反转文本中的每一行。 只有我发现的是

txt = "Hello World"[::-1]
print(txt)
示例ABCDEF

echo ABCDEF | grep -o .. | tac | paste -sd '' -
将给EFCDAB

这个


返回FEDCBA

如果我理解正确,您希望将字符串拆分为两个字符对,然后颠倒这些字符对的顺序

您可以使用
re
将字符串拆分为这样的对,然后使用切片语法反转顺序,然后再次将它们连接起来:

import re
source = 'ABCDEF'
result = ''.join(re.split('(.{2})', source)[::-1])

如果我理解正确,您希望将字符串拆分为两个字符对,然后颠倒这些字符对的顺序

您可以使用
re
将字符串拆分为这样的对,然后使用切片语法反转顺序,然后再次将它们连接起来:

import re
source = 'ABCDEF'
result = ''.join(re.split('(.{2})', source)[::-1])
我认为这是一个合适的解决方案:

我认为这是一个合适的解决方案:


您可以通过一行列表理解来完成这一切

chunkReverse=lambda s,n:''.join([s[i:i+n]表示范围(0,len,n)][::-1])
打印(chunkReverse('ABCDEF',2))#EFCDAB

解释
  • 下面的函数将字符串分块成大小为2的分区
  • result=[s[i:i+n]表示范围(0,len(s),n)]#['AB','CD','EF']
    
  • 接下来,它将反转令牌的顺序
  • result=result[:-1]#['EF','CD','AB']
    
  • 最后,它将把它们重新连接起来
  • 加入(结果)#EFCDAB
    您可以通过一行列表理解来完成这一切

    chunkReverse=lambda s,n:''.join([s[i:i+n]表示范围(0,len,n)][::-1])
    打印(chunkReverse('ABCDEF',2))#EFCDAB
    

    解释
  • 下面的函数将字符串分块成大小为2的分区
  • result=[s[i:i+n]表示范围(0,len(s),n)]#['AB','CD','EF']
    
  • 接下来,它将反转令牌的顺序
  • result=result[:-1]#['EF','CD','AB']
    
  • 最后,它将把它们重新连接起来
  • 加入(结果)#EFCDAB
    这意味着向后遍历整个字符串并返回子字符串。第一个和第二个参数是开始和结束索引。第三个参数是步骤;这是
    -1
    。这告诉我们要从最后开始。但在linux comand line如何做,我不明白。更新qustion what return linux命令行,这意味着向后遍历整个字符串并返回子字符串。第一个和第二个参数是开始和结束索引。第三个参数是步骤;这是
    -1
    。这告诉我们要从最后开始。但在linux comand line如何做,我不明白。更新qustion what return linux命令行Yes this exacly我正在尝试做什么。Yes this exacly我正在尝试做什么。
    sample_string = "ABCDEFG"
    string_length = len(sample_string)
    reversed_string = sample_string[string_length::-1]
    print(reversed_string)