Skip to content

Instantly share code, notes, and snippets.

@ryanorsinger
Last active April 11, 2024 17:26
Show Gist options
  • Save ryanorsinger/f7d7c1dd6a328730c04f3dc5c5c69f3a to your computer and use it in GitHub Desktop.
Save ryanorsinger/f7d7c1dd6a328730c04f3dc5c5c69f3a to your computer and use it in GitHub Desktop.
17 List Comprehension Exercises
# 17 list comprehension problems in python
fruits = ['mango', 'kiwi', 'strawberry', 'guava', 'pineapple', 'mandarin orange']
numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 17, 19, 23, 256, -8, -4, -2, 5, -9]
# Example for loop solution to add 1 to each number in the list
numbers_plus_one = []
for number in numbers:
numbers_plus_one.append(number + 1)
# Example of using a list comprehension to create a list of the numbers plus one.
numbers_plus_one = [number + 1 for number in numbers]
# Example code that creates a list of all of the list of strings in fruits and uppercases every string
output = []
for fruit in fruits:
output.append(fruit.upper())
# Exercise 1 - rewrite the above example code using list comprehension syntax. Make a variable named uppercased_fruits to hold the output of the list comprehension. Output should be ['MANGO', 'KIWI', etc...]
# Exercise 2 - create a variable named capitalized_fruits and use list comprehension syntax to produce output like ['Mango', 'Kiwi', 'Strawberry', etc...]
# Exercise 3 - Use a list comprehension to make a variable named fruits_with_more_than_two_vowels. Hint: You'll need a way to check if something is a vowel.
# Exercise 4 - make a variable named fruits_with_only_two_vowels. The result should be ['mango', 'kiwi', 'strawberry']
# Exercise 5 - make a list that contains each fruit with more than 5 characters
# Exercise 6 - make a list that contains each fruit with exactly 5 characters
# Exercise 7 - Make a list that contains fruits that have less than 5 characters
# Exercise 8 - Make a list containing the number of characters in each fruit. Output would be [5, 4, 10, etc... ]
# Exercise 9 - Make a variable named fruits_with_letter_a that contains a list of only the fruits that contain the letter "a"
# Exercise 10 - Make a variable named even_numbers that holds only the even numbers
# Exercise 11 - Make a variable named odd_numbers that holds only the odd numbers
# Exercise 12 - Make a variable named positive_numbers that holds only the positive numbers
# Exercise 13 - Make a variable named negative_numbers that holds only the negative numbers
# Exercise 14 - use a list comprehension w/ a conditional in order to produce a list of numbers with 2 or more numerals
# Exercise 15 - Make a variable named numbers_squared that contains the numbers list with each element squared. Output is [4, 9, 16, etc...]
# Exercise 16 - Make a variable named odd_negative_numbers that contains only the numbers that are both odd and negative.
# Exercise 17 - Make a variable named numbers_plus_5. In it, return a list containing each number plus five.
# BONUS Make a variable named "primes" that is a list containing the prime numbers in the numbers list. *Hint* you may want to make or find a helper function that determines if a given number is prime or not.
@girkot1307
Copy link

Can u provide solutions also for Exercise 3 and Bonus Exercise?

@ryanorsinger
Copy link
Author

I will be removing any replies with answers, since this is an educational resource to provide students with a challenge, not with answers :)

Thanks for enjoying this resource!

@ryanorsinger
Copy link
Author

infinityarpan made a delightfully concise solution to the bonus question using a ternary and mapping a lambda function.

dev-gabrielchaves introduced an even more concise solution to the bonus using the sympy library.

Kudos!

@ryanorsinger
Copy link
Author

Can u provide solutions also for Exercise 3 and Bonus Exercise?

No. This is an educational challenge :)

@dev-gabrielchaves
Copy link

dev-gabrielchaves commented Oct 25, 2023 via email

@poloexe
Copy link

poloexe commented Jan 1, 2024

Thanks for this
I was able to drill list comprehension into my head with these challenges ❤️

@michaelegbujua
Copy link

how can i send the solutions to the above problems

@michaelegbujua
Copy link

Can u provide solutions also for Exercise 3 and Bonus Exercise?

No. This is an educational challenge :)

how do i send my own solved work

@Galemair42
Copy link

In the exercice 4 the result should be ['mango', 'kiwi']. 'strawberry' has 3 vowels (in this case 'y' counts as a vowel) ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment