У меня есть словарь Python, в котором есть пустые значения. Я хочу заполнить эти пустые значения числами последовательно подряд.
Ниже приведен мой словарный набор данных с пустыми значениями:
Dict1 = {"BM":["A","B","C"],"ASM":["D","E","F"],"CSM":[""],"DSM":[""],"RSM":["G","H"],"ZSM":["I"],"NSM":["J","","l"]}
Я попробовал этот код:
max_length = max(len(lst) for lst in designation_dict.values())
# Pad the lists in the designation dictionary with 'L{n}' to make them equal length
for key in designation_dict:
for i in range(max_length):
if i < len(designation_dict[key]):
if designation_dict[key] == "":
designation_dict[key] = f'L{i+1}'
else:
designation_dict[key].append(f'L{i+1}')
Этот код дает следующий результат:
{'BM': ['A', 'B', 'C'],
'ASM': ['D', 'E', 'F'],
'CSM': ['L1', 'L2', 'L3'],
'DSM': ['L1', 'L2', 'L3'],
'RSM': ['G', 'H', 'L3'],
'ZSM': ['I', 'L2', 'L3'],
'NSM': ['J', 'L2', 'l']}
но мой ожидаемый результат:
{'BM': ['A', 'B', 'C'],
'ASM': ['D', 'E', 'F'],
'CSM': ['L1', 'L1', 'L1'],
'DSM': ['L2', 'L2', 'L2'],
'RSM': ['G', 'H', 'L3'],
'ZSM': ['I', 'L3', 'L4'],
'NSM': ['J', 'L4', 'l']}
Подробнее здесь: https://stackoverflow.com/questions/784 ... ith-python