Տեսակավորել բառարանը

Ձեր խնդիրն է գրել մի ֆունկցիա, որը կոչվում է sort_dictionary, որն ի վիճակի է տեսակավորել տվյալ բառարանը՝ ըստ բանալիների կամ արժեքների:
sort_dictionary ֆունկցիան ընդունում է երեք արգումենտ.
  1. dictionary․ տեսակավորվող բառարան։ Բառարանի բանալիները տողեր (string) են, իսկ արժեքները՝ թվեր (numbers)։
  1. by․ տող, որը ցույց է տալիս՝ արդյո՞ք տեսակավորումը պետք է կատարվի ըստ «բանալիների» (keys), թե՞ ըստ «արժեքների» (values):
  1. reverse․ Բուլյան «միայն keyword արգումենտ», որը որոշում է տեսակավորման կարգը: Եթե reverseFalse է, ապա տեսակավորումը կատարվում է աճման կարգով (աճող): Եթե reverseTrue է, ապա տեսակավորումը կատարվում է նվազման կարգով (նվազող): 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: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue