Първа задача

Краен срок
24.03.2011 23:59

Срокът за предаване на решения е отминал

Напишете следите четири функции:

make_multiset

Да се напише функция make_multiset, която преобразува списък l в мултимножество. Разглеждайте мултимножеството като речник, изобразяващ елемент към броя негови срещания.

>>> print(make_multiset(["trane", "bird", "satchmo", "bird", "trane"]))
{'trane': 2, 'satchmo': 1, 'bird': 2}

ordered_dict

Да се напише функция ordered_dict, която връща списък от двойките (ключ, стойност) на оригиналния речник. Списъкът да бъде сортиран по ключа си.

Очаквайте, че във входния списък няма да има стойности, който не могат да бъдат сравнявани.

>>> print(ordered_dict({4: "four", 2: "two", 3: "three", 1: "one"}))
[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

reversed_dict

Да се напише функция reversed_dict, която връща речник. За всяка двойка (ключ, стойност) от оригиналния речник в резултатния речник трябва да присъства двойка (стойност, ключ). Ако в оригиналния речник има две равни стойности, сте свободни в резултата да игнорирате всички освен една.

>>> print(reversed_dict({
    "Israel": "Jerusalem",
    "Austria": "Vienna",
    "Palestine": "Jerusalem",
    "Sweden": "Stockholm"
}))
{'Jerusalem': 'Israel', 'Stockholm': 'Sweden', 'Vienna': 'Austria'}

unique_objects

Да се напише функция unique_objects, която взема списък и връща число, което е броя на обектите в списъка.

>>> unique_objects([1, 1])
1
>>> unique_objects([[], []])
2
>>> unique_objects([[1], [1]])
2