Как назначить только значение из переменной для значения в словаре?

Раман, правильно, мы не можем сортировать dictionay, но мы можем сортировать визуализацию диктатора, поэтому мы не можем сортировать поданный заказ документации, но я вижу, что он упорядочен.

Например, в perl to_json есть опция canonical

print to_json( $data, { utf8 => 1, pretty => 1, convert_blessed => 1, canonical => 1 } );

(каноническая опция) выведет объекты JSON, отсортировав их ключи. Это добавляет сравнительно высокие накладные расходы. (конечно, мы делаем больше операций сортировки ...)

0
задан Omkar Kekre 18 January 2019 в 10:25
поделиться

1 ответ

Причина, по которой это происходит, заключается в том, что вы изменяете свой основной список, а не значение для этого конкретного ключа, вы можете создать несколько списков для их назначения или создать несколько копий списка при назначении их в словарь. Вы можете сделать это следующим способом:

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)
0
ответ дан Vinay Bharadhwaj 18 January 2019 в 10:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: