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


The code processes a sentence and creates a dictionary named distinct_word_length_no_odd using a dictionary comprehension in Python. This dictionary maps distinct words from the sentence to their respective lengths, but only for words with even 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_odd = {word: len(word) for word in set(sentence.split()) if len(word) % 2 == 0}: This line creates the distinct_word_length_no_odd 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 even.
    • If a word's length is even, 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_odd): This line prints the distinct_word_length_no_odd dictionary to the console.

Source Code

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

Output

Hello, how are you?
{'you?': 4, 'Hello,': 6}

Example Programs