daco2020 2022. 9. 11. 18:28

What if we need the length of the words separated by a space to be added at the end of that same word and have it returned as an array?

Example(Input --> Output)

"apple ban" --> ["apple 5", "ban 3"]
"you will win" -->["you 3", "will 4", "win 3"]

Your task is to write a function that takes a String and returns an Array/list with the length of each word added to each element .

Note: String will have at least one element; words will always be separated by a space.



Solution:

from typing import List


def get_words(func):
    def wrapper(sentence: str):
        return func([word for word in sentence.split()])
    return wrapper

@get_words
def add_length(words: List[str]):
    return [f"{word} {len(word)}" for word in words]