заменить значение None в словаре на python (1 ключ, 3 значения) - PullRequest
0 голосов
/ 03 апреля 2020

Я хотел бы заменить это "None" или "" (пустая строка) на "NoString" в моем словаре на python, я думаю, много времени, но я не могу закончить sh it.

это словарь:

{
'Column0':['ID','Company','Name'],
'Column1':[293193,'Exist','Robort Car'],
'Column2':[None,None,""],
'Column3':[None,"Close",None],
'Column4':["",None,None]
}

возможно я буду использовать для и если, пожалуйста, помогите мне

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

Я думаю, что здесь ключ к пониманию того, как изменить значения списка. простое значение l oop над списком не будет изменять / обновлять значения списка. Чтобы сделать это, нужно использовать Enumerate и обращаться к элементу по индексу, чтобы иметь возможность успешно изменить значение. Я также предложил бы использовать isinstance просто из моей практики, потому что представьте значение, которое не должно быть списком, тогда я не хочу, чтобы мой код ломался, и не так сложно защитить код с помощью isinstance (... , список) per say.

Вот более простое c, простое для понимания решение.

d = {
'Column0':['ID','Company','Name'],
'Column1':[293193,'Exist','Robort Car'],
'Column2':[None,None,""],
'Column3':[None,"Close",None],
'Column4':["",None,None]
}

print(d)

for k in d.keys():
    l = d[k]
    if isinstance(l,list):
        for idx, i in enumerate(l):
            if l[idx] is None:
                l[idx] = "NoString"

print(d)

и вывод:

enter image description here

0 голосов
/ 03 апреля 2020

Вам следует перебирать значения в формате dict, где вы можете их заменить:

myDict = {
'Column0':['ID','Company','Name'],
'Column1':[293193,'Exist','Robort Car'],
'Column2':[None,None,""],
'Column3':[None,"Close",None],
'Column4':["",None,None]
}

newDict = dict()
for key, value in myDict.items():
    newDict[key] = ["NoString" if s in [None, ""] else s for s in value ]

print(str(newDict).replace("],", "],\n"))

output:

{'Column0': ['ID', 'Company', 'Name'],
 'Column1': [293193, 'Exist', 'Robort Car'],
 'Column2': ['NoString', 'NoString', 'NoString'],
 'Column3': ['NoString', 'Close', 'NoString'],
 'Column4': ['NoString', 'NoString', 'NoString']}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...