这可能是一个简单的问题,但我通常不擅长理解列表。你知道吗
我在一个dict里面有几个dict,像这样:
main_dict = {
'a': {
'a1':[1,2,3,...],
'a2':[2,4,6,...]
}
'b': {
'b1':[0,2,4,...],
'b2':[1,3,5,...]
}
}
除了那些字典很大。你知道吗
我想把它添加到日志中(我使用的是logger),但我不想要所有的数据,因为这会让日志在短时间内变得巨大,而且很难读取。所以我尝试这样做是为了只存储每个子目录的前10个条目:
self.logger.debug('Recieved: {}'.format(self.main_dict[x][i][:10] for x in self.main_dict.keys() for i in self.main_dict[x].keys()))
但回报是一个目标:
' generator object.locals.genexpr at 0x000002C392688C78'
所以我用这个做了一个单独的测试:
main_dict = {
'A':{
'a1': [1,2,3],
'a2': [4,5,6]
},
'B': {
'b1': [0,2,4],
'b2': [1,3,5]
}
}
print([main_dict[x][i][:2] for x in main_dict.keys() for i in main_dict[x].keys()])
它实际上打印了:
[[1, 2], [4, 5], [0, 2], [1, 3]]
那我还缺什么?你知道吗
你错过了方括号:
方括号表示列表理解,圆括号表示生成器表达式。你知道吗
相关问题 更多 >
编程相关推荐