how to fill the empty value in dictionary python?

data = [{'Nama' : 'Ahmad', 'Jurusan' : 'Informatika', 'Semester' : 2, 'Angkatan' : ''},
        {'Nama' :'' , 'Jurusan' : 'Pertanian ' , 'Semester' : '' , 'Angkatan' : 2017},
        {'Nama' : 'Insan', 'Jurusan' : '' , 'Semester' : 3, 'Angkatan' : ''},
        {'Nama' : 'Malik', 'Jurusan' : '' , 'Semester' : 6, 'Angkatan' : 2018},
        {'Nama' : '', 'Jurusan' : 'Kehutanan', 'Semester' : '' , 'Angkatan' : 2015}]

Upvotes: 1

Views: 54

Answers (1)

Mike67
Mike67

Reputation: 11342

You can use list comprehension for this

This replaces the empty values with NewStr

data = [{'Nama' : 'Ahmad', 'Jurusan' : 'Informatika', 'Semester' : 2, 'Angkatan' : ''},
        {'Nama' :'' , 'Jurusan' : 'Pertanian ' , 'Semester' : '' , 'Angkatan' : 2017},
        {'Nama' : 'Insan', 'Jurusan' : '' , 'Semester' : 3, 'Angkatan' : ''},
        {'Nama' : 'Malik', 'Jurusan' : '' , 'Semester' : 6, 'Angkatan' : 2018},
        {'Nama' : '', 'Jurusan' : 'Kehutanan', 'Semester' : '' , 'Angkatan' : 2015}]

d2 = [{k:v if v else 'NewStr' for k,v in e.items()} for e in data]

print(d2)

Output

[{'Nama': 'Ahmad', 'Jurusan': 'Informatika', 'Semester': 2, 'Angkatan': 'NewStr'}, 
{'Nama': 'NewStr', 'Jurusan': 'Pertanian ', 'Semester': 'NewStr', 'Angkatan': 2017}, 
{'Nama': 'Insan', 'Jurusan': 'NewStr', 'Semester': 3, 'Angkatan': 'NewStr'}, 
{'Nama': 'Malik', 'Jurusan': 'NewStr', 'Semester': 6, 'Angkatan': 2018}, 
{'Nama': 'NewStr', 'Jurusan': 'Kehutanan', 'Semester': 'NewStr', 'Angkatan': 2015}]

Upvotes: 1

Related Questions