大写字符串中单词的第一个字符

时间:2016-02-14 13:10:34

标签: python if-statement join split

以下哪个版本与另一个版本有何不同?

  1. 以下代码返回字符串大写的单词的第一个字母:

    s = ' '.join(i[0].upper() + i[1:] for i in s.split())
    
  2. 以下代码仅打印最后一个单词,其中每个字符用空格分隔:

    for i in s.split():
        s=' '.join(i[0].upper()+i[1:]
        print s
    

2 个答案:

答案 0 :(得分:2)

为了完整性以及通过搜索引擎找到此问题的人,将字符串中每个单词的第一个字母大写的正确方法是使用title方法。

>>> capitalize_me = 'hello stackoverlow, how are you?'
>>> capitalize_me.title()
'Hello Stackoverlow, How Are You?'

答案 1 :(得分:1)

for i in s.split():` 

此时i就是一个词。

s = ' '.join(i[0].upper() + i[1:])

这里,i[0]是字符串的第一个字符,i[1:]是字符串的其余部分。因此,这是s = ' '.join(capitalized_s)的捷径。 str.join()方法将单个可迭代的参数作为参数。在这种情况下,iterable是一个字符串,但没有区别。对于诸如' '.join("this")之类的内容,str.join()遍历iterable的每个元素(字符串的每个字符)并在每个元素之间放置一个空格。结果:t h i s但是,您可以更轻松地执行所需操作:s = s.title()