3. List/Dict/Set comprehensions

Its used for code readability

Hint

At first, its better to create code withouth comprehenstion, later if you got experience you may try to make code with “comprehensions”

even_numbers = [element for element in range(2, 21, 2)]
print(even_numbers)
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
even_numbers2 = [element for element in range(2, 21) if (element % 2) == 0 ]
print(even_numbers2)
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
even_numbers3 = [element for element in range(2, 21) if not (element % 2)]
print(even_numbers3)
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

3.1. Dict comprehension

data_dict = {'Adam': 'Audi', 'Tomek': 'BMW', 'Kasia': 'Citroen'} # doctest: +SKIP

3.2. Set comprehension

data_set = {i**2 for i in range(5)}
print(data_set)
{0, 1, 4, 9, 16}

3.3. Exercise part 1

  1. Find 20 numbers divisible by 2 or divisible by 5 (if you don’t know how to make list comprehension, create normal list)

3.4. Exercise part 2

  1. Create mapping (dict comprehension)

  • key is number, values are letters from the alphabet A-Z,

  • {0: 'A', 1: 'B', 2: 'C', 3: 'D', ...}

Hint

Take a look on ASCII table

  • You can convert number to character,,

  • You can use chr() function - check google

3.5. Exercise part 3

  1. having lista dat in file

  • Create list - result of processing file gettting just date (list comprehension). * Based on this list - create list, where event occured in 19th second