2015-02-10 127 views

回答

1
>>> a = 'ahdhkhkahfkahafafkh' 
>>> "".join(i.upper() if i == 'a' else i for i in a) 
'AhdhkhkAhfkAhAfAfkh' 

或者

>>> a.replace('a',"A") 
'AhdhkhkAhfkAhAfAfkh' 
7

您可以使用str.translatestring.maketrans

>>> import string 
>>> table = string.maketrans('a', 'A') 
>>> 'abcdefgahajkl'.translate(table) 
'AbcdefgAhAjkl' 

这真正的亮点,如果你想更换'a''b'与他们的大写版本...那么你只需要改变的转换表:

table = string.maketrans('ab', 'AB') 

或者,如果您真的只做1对1互换,您可以使用str.replace

>>> 'abcdefgahajkl'.replace('a', 'A') 
'AbcdefgAhAjkl' 

当您只有一个替代品时,此方法发光。它取代子字符串而不是字符,因此'Bat'.replace('Ba', 'Cas') - >'Cast'

+0

是+1000000000如果我可以:) – 2015-02-10 18:55:09

+1

为什么这比.replace()更好? – thumbtackthief 2015-02-10 18:55:57

+0

谢谢!我有替换功能,我只是没有使用'a','A',部分! – 2015-02-10 18:57:23