Используя python 3, у меня есть список строк кода Морзе, присвоенных значениям переменных:
values = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
У меня также есть алфавит в формате строки, который преобразуется в список и назначается ключам:
keys = list('abcdebghigklmnopqrstuvwxyz')
теперь я использую zip (), чтобы объединить оба и назначить его my_dict
my_dict =zip(keys,values)
, если я преобразовываю my_dict в список:
my_dict = list (my_dict)
print (my_dict)
Я получаюэти выходные данные:
[('a', '.-'), **('b', '-...'),** ('c', '-.-.'), ('d', '-..'), ('e', '.'), ('b', '..-.'), ('g', '--.'), ('h', '....'), ('i', '..'), ('g', '.---'), ('k', '-.-'), ('l', '.-..'), ('m', '--'), ('n', '-.'), ('o', '---'), ('p', '.--.'), ('q', '--.-'), ('r', '.-.'), ('s', '...'), ('t', '-'), ('u', '..-'), ('v', '...-'), ('w', '.--'), ('x', '-..-'), ('y', '-.--'), ('z', '--..')]
То, что я ожидаю, каждый индекс является комбо из предыдущих двух списков.
Однако, когда я конвертирую my_dict
в словарь и печатаю:
my_dict = dict(my_dict)
print (my_dict)
Я получаю этот вывод (извините, кажется, не могу опубликовать должным образом):
{'y': '-.--', 'c': '-.-.', 'o': '---', 'r': '.-.', 'a': '.-', 't': '-', 'g': '.---', 'v': '...-', 'z': '--..', 'e': '.', 'w': '.--', 'n': '-.', 'i': '..', 'l': '.-..', 'h': '....', 'q': '--.-', 'm': '--', 's': '...', 'p': '.--.', 'x': '-..-', 'k': '-.-', 'u': '..-', 'd': '-..', **'b': '..-.'**}
Мой вопрос ... Я знаю, что словарь неупорядочен.но почему значение 'b' отличается: первый вывод выводит это ('b', '-...'), что правильно, и я понимаю, что второй вывод выводит это 'b': '..-.'что не имеет смысла.
'a' 'c' 'd' и другие, кажется, в порядке ....