Distinct words and their length, excluding those with even lengths, in a sentence


The code processes a sentence and creates a dictionary named distinct_word_length_no_even using a dictionary comprehension in Python. This dictionary maps distinct words from the sentence to their respective lengths, but only for words with odd lengths. Here's a step-by-step explanation of the code:

  • sentence = "Hello, how are you?": This line defines a string variable called sentence containing the sentence "Hello, how are you?"
  • distinct_word_length_no_even = {word: len(word) for word in set(sentence.split()) if len(word) % 2 != 0}: This line creates the distinct_word_length_no_even dictionary using a dictionary comprehension. Here's how it works:
    • {word: len(word) for word in set(sentence.split()) if len(word) % 2 != 0} is the dictionary comprehension. It performs the following steps:
    • sentence.split() splits the sentence string into a list of words. In this case, it will include words like "Hello," (with a comma) and "you?" (with a question mark).
    • set(sentence.split()) creates a set of distinct words by removing duplicates and punctuation. So, it will contain words like "Hello," (without the comma) and "you" (without the question mark).
    • for word in set(sentence.split()) iterates over each distinct word in the set.
    • len(word) % 2 != 0 checks if the length of the word is odd.
    • If a word's length is odd, it creates a key-value pair in the dictionary. The key (word) is the word itself, and the value (len(word)) is the length of the word.
  • print(sentence): This line prints the original sentence, which is "Hello, how are you?", to the console.
  • print(distinct_word_length_no_even): This line prints the distinct_word_length_no_even dictionary to the console.

Source Code

sentence = "Hello, how are you?"
distinct_word_length_no_even = {word: len(word) for word in set(sentence.split()) if len(word) % 2 != 0}
print(sentence)
print(distinct_word_length_no_even)

Output

Hello, how are you?
{'how': 3, 'are': 3}

Example Programs