You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Här kommer återkoppling på funktionen en student har skapat för att sortera datan i dictionarien korrekt.
Här är koden och nedanför finns återkopplingen.
deflexicographical_sort(dict_to_sort):
""" sorts a dictionary lexicographycally """unique_values_list= []
# create a list of unique valuesforvalueindict_to_sort.values():
ifvalueinunique_values_list:
passelse:
unique_values_list.append(value)
# sort valuesunique_values_list.sort(reverse=True)
sorted_dictionary= {}
# create a list for multiple values, add to new dictionaryfor_outer_key, outer_valueinenumerate(unique_values_list):
multiple_values_for_key= []
forinner_key, inner_valueindict_to_sort.items():
ifouter_value==inner_value:
multiple_values_for_key.append(inner_key)
multiple_values_for_key.sort(reverse=True)
sorted_dictionary[outer_value] =tuple(multiple_values_for_key)
returnsorted_dictionary
Du har gjort en väldigt avancerad sorteringslösning. Det tog lite tid för mig att komma på exakt vad du gjorde i den.
Jag har inte så mycket att säga om hur koden är skriven, jag hittade bara ett par små saker.
Jag hade döpt om _outer_key till bara _ i for-loopen så det blir tydligare att den inte används.
for_, outer_valueinenumerate(unique_values_list):
Däremot hade jag gjort sorteringen på ett annat sätt. Det finns ett lättare sätt att få till sortering på flera värden och det är med hjälp av tupler.
Precis som när man sorterar en sträng, när man sorterar tupler så jämförs ett elemnt åt gången. Om första elementet är olika jämförs inget mer. Om de är lika går det vidare och jämför nästa element.
Med den kunskapen kan vi bygga en lista som innehåller tupler. Tuplerna innehåller värdena i den ordningen som vi vill att det ska sorteras på. T.ex. (value, word).
Så om vi har en dictionary där nycklarna är orden och värdet är antalet förekomster av ordet i texten, då vill vi göra om den till en lista med tupler istället. Där första elementet är värdet och andra värdet nyckeln.
Här kommer återkoppling på funktionen en student har skapat för att sortera datan i dictionarien korrekt.
Här är koden och nedanför finns återkopplingen.
Du har gjort en väldigt avancerad sorteringslösning. Det tog lite tid för mig att komma på exakt vad du gjorde i den.
Jag har inte så mycket att säga om hur koden är skriven, jag hittade bara ett par små saker.
Följande if-sats hade jag ändrat på.
Det är onödigt med en tom if-sats, då är det bättre att kolla specifikt efter att saken inte stämmer.
Jag hade döpt om
_outer_key
till bara_
i for-loopen så det blir tydligare att den inte används.Däremot hade jag gjort sorteringen på ett annat sätt. Det finns ett lättare sätt att få till sortering på flera värden och det är med hjälp av tupler.
Precis som när man sorterar en sträng, när man sorterar tupler så jämförs ett elemnt åt gången. Om första elementet är olika jämförs inget mer. Om de är lika går det vidare och jämför nästa element.
Med den kunskapen kan vi bygga en lista som innehåller tupler. Tuplerna innehåller värdena i den ordningen som vi vill att det ska sorteras på. T.ex.
(value, word)
.Så om vi har en dictionary där nycklarna är orden och värdet är antalet förekomster av ordet i texten, då vill vi göra om den till en lista med tupler istället. Där första elementet är värdet och andra värdet nyckeln.
När vi sen sorterar listan så kommer den i första hand sortera på antalet förekomster i texten och om de är lika sorteras det på ordet istället.
Och där har vi en sorterad dictionary på förekomst och bokstavsordning.
The text was updated successfully, but these errors were encountered: