Python 如何将单词中的一个字母转换为大写字母。喜欢维基到维基

Python 如何将单词中的一个字母转换为大写字母。喜欢维基到维基,python,Python,如何将单词中的一个字母转换为大写字母。例如wiki到wiki,我知道如何大写,我只能将整个单词大写,或者只能将一个字母大写 也许: a = 'text' b = ('t', 'x') print ''.join(x.upper() if x in b else x for x in a) 如果只有我,你可以 string = string.replace('i','I') 或者,如果有更多的字母,请尝试以下方式: letters = ['a','b','c','d','e','f'] str

如何将单词中的一个字母转换为大写字母。例如wiki到wiki,我知道如何大写,我只能将整个单词大写,或者只能将一个字母大写

也许:

a = 'text'
b = ('t', 'x')
print ''.join(x.upper() if x in b else x for x in a)

如果只有我,你可以

string = string.replace('i','I')
或者,如果有更多的字母,请尝试以下方式:

letters = ['a','b','c','d','e','f']
string = 'acgfdb'
for l in letters:
    string = string.replace(l.lower(),l.upper())
好的,根据您的评论,您也希望从用户那里获得输入,然后尝试这个

string = raw_input('Enter a word: ')
letter = raw_input('Enter the letter to change to capital: ')
while len(letter) != 1:
    print 'enter a single letter'
    letter = raw_input('Enter the letter to change: ')
string = string.replace(l.lower(),l.upper())
print string
为什么不直接使用str.replace呢

您可以使用string.maketrans和str.translate稍微多做一些工作来完成同样的事情

如果您重复使用同一个转换表,后一种形式可能更有效,但是您不太可能在运行时注意到差异,除非这是在一个非常紧密的循环中。后一种形式也非常适合进行一些替换。例如,要使所有元音大写,可以使用:

trans = string.maketrans('aeiou','AEIOU')

如果是同一个字母,您可以使用_单词。替换小写,大写这是一个非常基本的问题,文档很容易回答。下次发帖前请参考官方文件。我必须向用户要一个单词,然后他们想要更改的字母,这是很难的part@CourtneyKrolak请参阅更新。。。
import string
trans = string.maketrans(letter,letter.upper())
print word.translate(trans)
trans = string.maketrans('aeiou','AEIOU')