Skip to content

Commit 3725006

Browse files
committed
one-line exercise
1 parent 005f376 commit 3725006

File tree

2 files changed

+44
-9
lines changed

2 files changed

+44
-9
lines changed

Python/Esercizi/OneLine.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,31 @@ def es7(a, b):
161161
"""
162162

163163
#%%
164-
""" ES 8 -
165-
164+
""" ES 8 - difficile (parte di un HW dell'AA22-23)
165+
Dati in input una lista di parole e un dizionario avente per chiavi indici che vanno da 0 alla lunghezza della parola più lunga all'interno della lista-1, e
166+
per valori dei dizionari vuoti; bisogna riempire i dizionari vuoti interni in modo tale che abbiano, per chiavi le lettere delle parole che compaiono all'indice
167+
che fa da chiave a quel dizionario, e per valori la frequenza di quelle lettere.
166168
"""
167169

168-
def es8(a, b):
170+
def es8(occurrences, words):
169171
#Inserisci qui il tuo codice
170172
pass
171173

174+
# w = ['house', 'garden', 'kitchen', 'balloon', 'home', 'park', 'affair', 'kite', 'hello', 'portrait', 'angel', 'surfing']
175+
# occ = { k : {} for k in range(max(list(map(lambda x : len(x), words)))) }
176+
# print(es8(occ, w))
177+
178+
"""
179+
out:
180+
{
181+
0: {'h': 3, 'g': 1, 'k': 2, 'b': 1, 'p': 2, 'a': 2, 's': 1},
182+
1: {'o': 3, 'a': 3, 'i': 2, 'f': 1, 'e': 1, 'n': 1, 'u': 1},
183+
2: {'u': 1, 'r': 4, 't': 2, 'l': 2, 'm': 1, 'f': 1, 'g': 1},
184+
3: {'s': 1, 'd': 1, 'c': 1, 'l': 2, 'e': 3, 'k': 1, 'a': 1, 't': 1, 'f': 1},
185+
4: {'e': 2, 'h': 1, 'o': 2, 'i': 2, 'r': 1, 'l': 1},
186+
5: {'n': 2, 'e': 1, 'o': 1, 'r': 1, 'a': 1},
187+
6: {'n': 2, 'i': 1, 'g': 1},
188+
7: {'t': 1}
189+
}
190+
"""
172191

Python/Soluzioni/OneLine.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,29 @@ def es7(a, b):
161161

162162

163163
#%%
164-
""" ES 8 -
165-
164+
""" ES 8 - difficile (parte di un HW dell'AA22-23)
165+
Dati in input una lista di parole e un dizionario avente per chiavi indici che vanno da 0 alla lunghezza della parola più lunga all'interno della lista-1, e
166+
per valori dei dizionari vuoti; bisogna riempire i dizionari vuoti interni in modo tale che abbiano, per chiavi le lettere delle parole che compaiono all'indice
167+
che fa da chiave a quel dizionario, e per valori la frequenza di quelle lettere.
166168
"""
167169

168-
def es8(a, b):
169-
#Inserisci qui il tuo codice
170-
pass
171-
170+
def es8(occurrences, words):
171+
list(map(lambda word : list(map(lambda i : occurrences[i].update({word[i] : occurrences[i].get(word[i], 0) + 1}), range(len(word)))), words))
172172

173+
# w = ['house', 'garden', 'kitchen', 'balloon', 'home', 'park', 'affair', 'kite', 'hello', 'portrait', 'angel', 'surfing']
174+
# occ = { k : {} for k in range(max(list(map(lambda x : len(x), words)))) }
175+
# print(es8(occ, w))
173176

177+
"""
178+
out:
179+
{
180+
0: {'h': 3, 'g': 1, 'k': 2, 'b': 1, 'p': 2, 'a': 2, 's': 1},
181+
1: {'o': 3, 'a': 3, 'i': 2, 'f': 1, 'e': 1, 'n': 1, 'u': 1},
182+
2: {'u': 1, 'r': 4, 't': 2, 'l': 2, 'm': 1, 'f': 1, 'g': 1},
183+
3: {'s': 1, 'd': 1, 'c': 1, 'l': 2, 'e': 3, 'k': 1, 'a': 1, 't': 1, 'f': 1},
184+
4: {'e': 2, 'h': 1, 'o': 2, 'i': 2, 'r': 1, 'l': 1},
185+
5: {'n': 2, 'e': 1, 'o': 1, 'r': 1, 'a': 1},
186+
6: {'n': 2, 'i': 1, 'g': 1},
187+
7: {'t': 1}
188+
}
189+
"""

0 commit comments

Comments
 (0)