我有一个字典,其中每个键都有多个列表作为其值。我想分析所有列表中的某个索引,看看它们包含什么值,也就是说,我想要列表的第二个索引。我试着检查某个数字(以字符串形式存储)是否存储在那里。如果数字在那里,我将预定义变量的位从0更改为1。我希望将这个二进制数作为原始键的值存储在另一个字典中。在
for key, value in dfDict.items():
for sublist in value:
channelBinary = list('0000')
if '0' in sublist[2]:
channelBinary[3] = '1'
if '1' in sublist[2]:
channelBinary[2] = '1'
if '2' in sublist[2]:
channelBinary[1] = '1'
if '3' in sublist[2]:
channelBinary[0] = '1'
我知道这是错误的,因为它将基本上检查与我的字典键相关联的每个列表,并为每个列表创建一个二进制数。我只想要一个二进制数,它告诉我每个字典键在每个列表的第二个索引中存储的所有值。我也试过这样的方法
^{pr2}$我知道这段代码是错误的,但希望您看到我遗漏了值的第一个方括号的索引,这意味着我基本上想忽略列表索引,只关心子列表索引。在
编辑:字典结构示例。这只是印刷词典的结果
{'key1': [('data1', 'dataA', '1', 'data_a'),
('data2', 'dataB', '2', 'data_b'),
('data3', 'dataC', '0', 'data_c')],
'key2': [('data4', 'dataD', '3', 'data_d'),
('data5', 'dataE', '2', 'data_e'),
('data6', 'dataF', '1', 'data_f'),]}
只需使用第一个示例,但将
channelBinary = list('0000')
移出内部循环:我将添加另一个答案,因为现在我肯定知道你想要什么,如果你想要每个键都有一个二进制,你可以按照你的代码来做(这可以做得更简单和漂亮,但我不想在这里放弃你的工作):
相关问题 更多 >
编程相关推荐