Տեսակավորել բառարանը
Ձեր խնդիրն է գրել մի ֆունկցիա, որը կոչվում է
sort_dictionary
, որն ի վիճակի է տեսակավորել տվյալ բառարանը՝ ըստ բանալիների կամ արժեքների:sort_dictionary
ֆունկցիան ընդունում է երեք արգումենտ.dictionary
․ տեսակավորվող բառարան։ Բառարանի բանալիները տողեր (string) են, իսկ արժեքները՝ թվեր (numbers)։
by
․ տող, որը ցույց է տալիս՝ արդյո՞ք տեսակավորումը պետք է կատարվի ըստ «բանալիների» (keys), թե՞ ըստ «արժեքների» (values):
reverse
․ Բուլյան «միայն keyword արգումենտ», որը որոշում է տեսակավորման կարգը: Եթեreverse
-ըFalse
է, ապա տեսակավորումը կատարվում է աճման կարգով (աճող): Եթեreverse
-ըTrue
է, ապա տեսակավորումը կատարվում է նվազման կարգով (նվազող):reverse
-ի սկզբնադիր (default) արժեքը պետք է լինիFalse
:
Ֆունկցիան պետք է վերադարձնի տեսակավորված բառարանը՝ որպես հավաքածուների (tuple) ցուցակ: Յուրաքանչյուր tuple պետք է պարունակի երկու տարր՝ բանալին և դրա համապատասխան արժեքը բառարանում: tuple-ը պետք է ունենա հետևյալ ձևը՝
(
բանալի
, արժեք)
:Ի նկատի ունեցեք, որ տեսակավորելու ժամանակ ծրագիրը պետք է տարբերակում չմցնի մեծատառերի և փոքրատառերի միջև։
Մուտք | Ելք |
sort_dictionary({'Alice': 25, 'Bob': 22, 'Charlie': 27}, 'keys') | [('Alice', 25), ('Bob', 22), ('Charlie', 27)] |
sort_dictionary({'Alice': 25, 'Bob': 22, 'Charlie': 27}, 'values', reverse=True) | [('Charlie', 27), ('Alice', 25), ('Bob', 22)] |
sort_dictionary({'b': 1, 'A': 2, 'c': 3}, 'keys') | [('A', 2), ('b', 1), ('c', 3)] |
sort_dictionary({'b': 1, 'A': 2, 'c': 3}, 'values', reverse=True) | [('c', 3), ('A', 2), ('b', 1)] |
Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB