Home > front end >  (Python) How do I reverse characters of a list item
(Python) How do I reverse characters of a list item

Time:02-22

I want to reverse character order of every item in a list

I have myList = ['78', '79', '7a'] and I want it to get the output 87 97 a7

so far I've tried:

newList = [x[::-1] for x in myList][::-1]

and

def reverseWord(word):
    return word[::-1]

myList = ['78', '79', '7a']

newList = [reverseWord(word) for word in myList]

this would either return the original list or reverse the entire list and not just the items

CodePudding user response:

In your line [x[::-1] for x in myList][::-1], the final [::-1] does reverse the list, you don't need it

What you missing is only formatting : join the element using a space

myList = ['78', '79', '7a']
res = " ".join(x[::-1] for x in myList)
print(res)  # 87 97 a7

CodePudding user response:

Since your trying to reverse only the items inside the list and not the list it-self you only need to remove the extra [::-1],so your code should look like this:

myList = ['78', '79', '7a']
newList = [x[::-1] for x in myList]

In addition your second code using the reverseWord method is correct and gives you exactly the output you wanted.

def reverseWord(word):
return word[::-1]

myList = ['78', '79', '7a']

newList = [reverseWord(word) for word in myList]

CodePudding user response:

Well, a one-liner to do the job :

newList = list(map(lambda x:''.join(reversed(x)), myList))
['87', '97', 'a7']
  • Related