how to edit each member of a list in python

后端 未结 2 1846
难免孤独
难免孤独 2021-01-28 04:20

I am new to python and I am trying to create a capitalize function that either capitalizes all words in a string or only the first word. Here is my function

def          


        
相关标签:
2条回答
  • 2021-01-28 04:36

    The bread-and-butter way to do this is to use a list comprehension:

    >>> l = ['one', 'two', 'three']
    >>> [w.capitalize() for w in l]
    ['One', 'Two', 'Three']
    

    This creates a copy of the list, with the expression applied to each of the items.

    If you don't want to create a copy, you could do this...

    >>> for i, w in enumerate(l):
    ...     l[i] = w.capitalize()
    ... 
    >>> l
    ['One', 'Two', 'Three']
    

    ...or this:

    l[:] = (w.capitalize() for w in l)
    

    The latter is probably the most elegant way to alter the list in-place, but note that it uses more temporary storage then the enumerate method.

    0 讨论(0)
  • 2021-01-28 04:53

    Use a list comprehension:

    def capitalize(s, applyToAll=False):
        if applyToAll:
            l = [w.capitalize() for w in s.split()]
            return " ".join(l)
        else:
            return s.capitalize()
    

    what do yo guys use in python to debug?

    print statements for complicated pieces of code, the interactive interpreter for anything else. I write a lot of tests through, and run them with nose.

    0 讨论(0)
提交回复
热议问题