Slice every string in list in Python

15,370

Solution 1

Use a list comprehension to create a new list with the result of an expression applied to each element in the inputlist; here the [:-2] slices of the last two characters, returning the remainder:

[w[:-2] for w in list_of_words]

Demo:

>>> list_of_words = ['One', 'Two', 'Three', 'Four', 'Five']
>>> [w[:-2] for w in list_of_words]
['O', 'T', 'Thr', 'Fo', 'Fi']

Solution 2

You can do:

>>> l = ['One', 'Two', 'Three', 'Four', 'Five'] 
>>> [i[:-2] for i in l]
['O', 'T', 'Thr', 'Fo', 'Fi']

Solution 3

x=['One', 'Two', 'Three', 'Four', 'Five']
print map(lambda i:i[:-2],x)  #for python 2.7
print list(map(lambda i:i[:-2],x)) #for python 3
Share:
15,370
Peter
Author by

Peter

Updated on June 28, 2022

Comments

  • Peter
    Peter almost 2 years

    I want to slice every string in a list in Python.

    This is my current list:

    ['One', 'Two', 'Three', 'Four', 'Five']
    

    This is the list I want for result:

    ['O', 'T', 'Thr', 'Fo', 'Fi']
    

    I want to slice away the two last characters from every single string in my list.

    How can I do this?