Py学习  »  Python

Python 3中字符串大写for循环的复杂性

Harsh Pradhan • 5 年前 • 1570 次点击  

我正在尝试使用以下技巧将字符串中的单词大写:

 def solve(s):
     if len(s)>0 and len(s)<1000:
         li= s.split(" ")

         for i in li:
             i= i.capitalize()

     return " ".join(li)

def solve(s):
    if len(s)>0 and len(s)<1000:
        li= s.split(" ")

        for i in range(len(li)):
            li[i]= li[i].capitalize()

    return " ".join(li)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/57248
 
1570 次点击  
文章 [ 2 ]  |  最新文章 5 年前
user10987432
Reply   •   1 楼
user10987432    5 年前

你真的意识到字符串有一个内置的方法来做到这一点吗?

>>> "hello world this is a test".title()
'Hello World This Is A Test'
>>> 
Thiago Schettini
Reply   •   2 楼
Thiago Schettini    5 年前

在上面的行中,您没有将大写的值扔给li变量,您只是替换了实际元素的值:

 for i in li:
     i= i.capitalize()

在您的第二种方法中,您再次将值抛出给li变量,这就是它在第二种情况下工作的原因。