Не добавляется значение в список внутри словаря

Почему в данном словаре value имеет тип данных str? Хотя это список

   for value in dict_ZTE_GSM_GGsmRelation_index.values():
        print(value,'___', type(value))

введите сюда описание изображения

При попытке добавить к value как к списку ещё одно значение я получаю эрор

dict_ZTE_GSM_GGsmRelation_index['228_752_1'] = dict_ZTE_GSM_GGsmRelation_index.get('228_752_1', []) + [15571]

введите сюда описание изображения

А если добавить значение как str, то оно добавляется за скобками

dict_ZTE_GSM_GGsmRelation_index['228_752_1'] = dict_ZTE_GSM_GGsmRelation_index.get('228_752_1') + str(15571)
print(dict_ZTE_GSM_GGsmRelation_index['228_752_1'])

введите сюда описание изображения

ZTE_GSM_GGsmRelation_index = {'228_752_1':'[1, 129, 130, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141]','228_752_2':'[1, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153]','228_752_3':'[1, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147]','228_753_1': '[1, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152]','228_753_2': '[1, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145]'}

Ответы (1 шт):

Автор решения: MaxU

Почему в данном словаре value имеет тип данных str? Хотя это список

Потому что это строка, а не список.

Пример:

x = '[1, 2, 3]'
print(type(x))
# <class 'str'>

Как распарсить JSON строки в словаре:

import json

for k,v in ZTE_GSM_GGsmRelation_index.items():
    ZTE_GSM_GGsmRelation_index[k] = json.loads(v)

результат:

In [306]: ZTE_GSM_GGsmRelation_index
Out[306]:
{'228_752_1': [1, 129, 130, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141],
 '228_752_2': [1,
  129,
  130,
  131,
  132,
  133,
  ...
→ Ссылка