dict(...) примера от "Колекции"

  1. От началото на лекцията бяхте написали няколко интересни примера/въпроси, но един от тях не успявам да разбера как точно работи:

    >>> gogo = dict('12 34 16'.split() + [(False, False)])
    >>> gogo
    {False: False, '3': '4', '1': '6'}
    

    Оздавачава ме, че няма елемент '1' : '2', както има за съответно 34 и 16.

    Още по-странно е когато пробвах следния пример в конзолата:

    >>> my_dict = dict('41 51 61'.split() + [(False, False)])
    >>> my_dict
    {'6': '1', False: False, '4': '1', '5': '1'}
    

    Тук пък има за всички числа съответен елемент. Разликата е само, че ползвам различни числа.

    Освен да изпускам нещо много елементарно или пък да въвеждам в конзолата по странен начин нещата, но double check-вах да е като лекцията. Също не зацепих и какъв е очаквания ред на елементите в конструирания dict. Конкретно, защо е сигрно че в първия случай първият елемент винаги ще е False: False. При втория ми пример виждаме, че е '6': '1', примерно.

    Та, идеи?

  2. ключовете в речника са уникални, ако запишеш стойност на ключ, който вече го има ще се запише на мястото на предишната стойност за този ключ. За това '1': '6', замазва '1': '2' и него вече го няма.

    Когато си говорим за речници и множества не може да става дума за подредба.

    Когато индексираш речник търсиш стойността отговаряща на съответния ключ. В случая gogo[0] връща False, защото False и 0 са взаимозаменяеми в някои ситуации и хешовете им са еднакви(това не е "първия" елемент, а елемента стоящ зад ключ 0), а имаш запис False: False

Трябва да сте влезли в системата, за да може да отговаряте на теми.