将列表压缩为字符串:['z','y','x'...] -> 'zyx...' ? Python (2.7.1)
如果我有一个字符串
list='abcdedcba'
我想把里面的字母换成这样:
a=z, b=y, c=x, d=w, e=v
那么它就会变成:
translate='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']
我该怎么把它变回
translate='zyxwvwxyz'
的形式呢?
6 个回答
2
下面是一个使用 maketrans 和 translate 的例子:
>>> 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)
12
the_list = ['z', 'y', 'x', 'w', 'v', 'w', 'x', 'y', 'z']
print "".join(the_list)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。