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

Ձեր խնդիրն է գրել մի ֆունկցիա, որը կոչվում է sort_dictionary, որն ի վիճակի է տեսակավորել տվյալ բառարանը՝ ըստ բանալիների կամ արժեքների:

sort_dictionary ֆունկցիան ընդունում է երեք արգումենտ.

  1. dictionary․ տեսակավորվող բառարան։ Բառարանի բանալիները տողեր (string) են, իսկ արժեքները՝ թվեր (numbers)։

  2. by․ տող, որը ցույց է տալիս՝ արդյո՞ք տեսակավորումը պետք է կատարվի ըստ «բանալիների» (keys), թե՞ ըստ «արժեքների» (values):

  3. 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