Раман, правильно, мы не можем сортировать dictionay, но мы можем сортировать визуализацию диктатора, поэтому мы не можем сортировать поданный заказ документации, но я вижу, что он упорядочен.
Например, в perl to_json есть опция canonical
print to_json( $data, { utf8 => 1, pretty => 1, convert_blessed => 1, canonical => 1 } );
(каноническая опция) выведет объекты JSON, отсортировав их ключи. Это добавляет сравнительно высокие накладные расходы. (конечно, мы делаем больше операций сортировки ...)
Причина, по которой это происходит, заключается в том, что вы изменяете свой основной список, а не значение для этого конкретного ключа, вы можете создать несколько списков для их назначения или создать несколько копий списка при назначении их в словарь. Вы можете сделать это следующим способом:
my_dict = {"A_key":my_list[:] ,"B_key":my_list[:],"C_key":my_list[:]}
my_dict["A_key"][4] = "Changed_Data"
. Здесь происходит то, что вы копируете список с начала до конца списка. Это называется разрезанием списка, когда вы «разрезаете» список от одного конца к другому. Когда вы разрезаете список, он возвращает обратно новый список от начального индекса до конечного индекса.
Вы предоставляете начальный индекс, используя [0:10]
, где 0 - начало, а 10 - конец. Если вы не указали начало и конец, возвращается весь список. Это может быть использовано для копирования списка.
Но это все еще то, что называется «мелкой копией», где, если у вас есть список внутри этого списка, тогда вложенный список все равно будет подвержен изменениям в основном списке. Это все еще может быть решено с помощью того, что называется глубокой копией,
from copy import deepcopy
old_list = [1, 2, 3, [4]]
new_list = deepcopy(old_list)