Skip to content Skip to sidebar Skip to footer

How To Edit Each Member Of A List In Python

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 capitalize(data, ap

Solution 1:

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 inenumerate(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.

Solution 2:

Use a list comprehension:

defcapitalize(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.

Post a Comment for "How To Edit Each Member Of A List In Python"