将列表压缩成字符串:[\'z\',\'y\',\'x\'...]->\'zyx ...\'吗? Python(2.7.1)

| 如果我有 list = \'abcdedcba \' 而且我要: a = z,b = y,c = x,d = w,e = v 因此它将转换为: 翻译= \'zyxwvwxya \' 我该怎么做? 如果我建造字典
>>> d=dict(zip((\'a\',\'b\',\'c\',\'d\',\'e\'),(\'z\',\'y\',\'x\',\'w\',\'v\')))
和类型
>>> example= d[x] for x in list
>>> print translate
[\'z\', \'y\', \'x\', \'w\', \'v\', \'w\', \'x\', \'y\', \'z\']
我如何将其重新放入表格 翻译= \'zyxwvwxyz \' ?
已邀请:
the_list = [\'z\', \'y\', \'x\', \'w\', \'v\', \'w\', \'x\', \'y\', \'z\']
print \"\".join(the_list)
对于单字母替换,请使用maketrans并从string模块进行转换。它们的操作类似于unix tr命令。对于最后一步,使用空的分隔符联接是正确的答案,但对于此确切任务不是必需的。
\'\'.join(translate)
我不确定这是您想要的吗?
使用maketrans和翻译的示例:
>>> import string
>>> table = string.maketrans(\'abcdef\', \'zyxwvu\')
>>> \'abdedddfdffdabe\'.translate(table)
\'zywvwwwuwuuwzyv\'
假设要替换ASCII字母中的所有字母:
import string
reversed_ascii_letters = string.ascii_letters[::-1]
# reorder lowercase and uppercase
reversed_ascii_letters = reversed_ascii_letters[26:] + reversed_ascii_letters[:26]
table = string.maketrans(string.ascii_letters, reversed_ascii_letters)
data = \'The Quick Brown Fox Jumped Over the Lazy Dog\'
print data.translate(table)
>>> import string
>>> table = string.maketrans(string.lowercase, string.lowercase[::-1])
>>> \'abcdedcba\'.translate(table)
\'zyxwvwxyz\'
>>> import string
>>> letters = string.lowercase
>>> letters
\'abcdefghijklmnopqrstuvwxyz\'
>>> def revert_string(s):
    s_rev = \'\'
    for c in s:
        s_rev += letters[len(letters) - 1 - letters.find(c)]
    return s_rev

>>> s = \'zearoizuetlkzjetkl\'
>>> revert_string(s)
\'avzilrafvgopaqvgpo\'

要回复问题请先登录注册