Ordenar o Dicionário

A sua tarefa é escrever uma função chamada sort_dictionary que seja capaz de ordenar um determinado dicionário, seja pelas suas chaves ou pelos seus valores.

A função sort_dictionary recebe três argumentos:

  1. dictionary: um dicionário a ser ordenado. As chaves do dicionário são strings, enquanto os valores são números.

  2. by: uma string que indica se a ordenação deve ser feita pelas 'keys' ou pelos 'values'.

  3. reverse: um argumento booleano apenas por palavra-chave que determina a ordem da ordenação. Se reverse for False, a ordenação é feita em ordem crescente. Se reverse for True, a ordenação é feita em ordem decrescente. O valor padrão de reverse deve ser False.

A função deve retornar o dicionário ordenado como uma lista de tuplos. Cada tuplo deve conter dois elementos: a chave e o seu valor correspondente no dicionário. O formato do tuplo deve ser: (key, value).

Note que a ordenação deve ser insensível a maiúsculas e minúsculas.

Entrada

Saída

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