您首先创建两个列表并附加项目。应该对列表中的每个对象进行迭代,每个对象都是字典本身。假设包含字典的列表称为full_list,因为将其命名为list 对于python 来说不太方便。
week_list = []
timing_list = []
for i in full_list:
week_list.append(i['week'])
timing_list.append(i['timing'])
如果有空值的字典,或者空字典,或者只有week但没有timing的字典,我喜欢使用:
import numpy as np
for i in full_list:
try:
week_list.append(i['week'])
except KeyError:
week_list.append(np.nan)
try:
timing_list.append(i['timing'])
except KeyError:
timing_list.append(np.nan)
这样,只要键不存在,您就可以将NaN 值附加到您的列表中,如果您稍后对列表执行操作,这将很有帮助。
完整示例:
full_list = [{'week': 3, 'timing': '07:30'}, {'week': 4, 'timing': '20:30'},{},{'week':4},{'timing':'09:21'},{}]
week_list = []
timing_list = []
import numpy as np
for i in full_list:
try:
week_list.append(i['week'])
except KeyError:
week_list.append(np.nan)
try:
timing_list.append(i['timing'])
except KeyError:
timing_list.append(np.nan)
print(week_list)
print(timing_list)
输出:
[3, 4, nan, 4, nan, nan]
['07:30', '20:30', nan, nan, '09:21', nan]
编辑:
如果字典如下所示:
full_dict = {'person_1':{'week': 3, 'timing': '07:30'},'person_2':{'week': 4, 'timing': '20:30'},'person_3':{}}
应该对每个key 进行迭代。因此循环将是:
for i in full_dict.keys():
and exactly the same code as before