如何将单词中的一个字母转换为大写。例如wiki到wIkI,我知道如何大写它我只能将整个单词大写或者我只能将一个字母大写。
问问题
2467 次
3 回答
1
为什么不直接使用str.replace
?
word = 'wiki'
letter = 'i'
print word.replace(letter,letter.upper())
你可以用稍微多一点的努力做同样的string.maketrans
事情str.translate
import string
trans = string.maketrans(letter,letter.upper())
print word.translate(trans)
如果您重复使用同一个转换表,后一种形式可能会更有效,但除非这是一个非常紧密的循环,否则您不太可能注意到运行时的差异。后一种形式也非常适合进行一些替换。例如,要使所有元音大写,您可以使用:
trans = string.maketrans('aeiou','AEIOU')
于 2013-03-12T02:45:26.977 回答
0
如果它只是“我”,你可以做
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
于 2013-03-12T02:45:17.950 回答
0
也许:
a = 'text'
b = ('t', 'x')
print ''.join(x.upper() if x in b else x for x in a)
于 2013-03-12T02:44:17.543 回答