2016-04-10 84 views
0

存储列表在蟒蛇, 我有以下组成的词典:删除,并从字典

[ ['FOXP2_MOUSE', 'AminoAcidSequence1'], ['FOXP2_RAT','AminoAcidSequence2'], ['FOXP2_DOG', 'AminoAcidSequence3'] ]. 

我试图从字典中删除键FOXP2_DOG并将其放置在单独一个新的字典。我试过不同的方法:del.remove无济于事。

+0

这不是一个字典,它是列表的列表。 – MattDMo

回答

0

这样的:

>>> my_list= [ ['FOXP2_MOUSE', 'AminoAcidSequence1'], ['FOXP2_RAT','AminoAcidSequence2'], ['FOXP2_DOG', 'AminoAcidSequence3'] ] 
>>> my_dict = dict(my_list) 
>>> my_dict 
{'FOXP2_RAT': 'AminoAcidSequence2', 'FOXP2_MOUSE': 'AminoAcidSequence1', 'FOXP2_DOG': 'AminoAcidSequence3'} 
>>> my_new_dict = {} 
>>> my_new_dict['FOXP2_MOUSE'] = my_dict.pop('FOXP2_MOUSE') 
>>> my_dict 
{'FOXP2_RAT': 'AminoAcidSequence2', 'FOXP2_DOG': 'AminoAcidSequence3'} 
>>> my_new_dict 
{'FOXP2_MOUSE': 'AminoAcidSequence1'} 
+1

这不回答这个问题。 OP想要删除''FOXP2_DOG''并将其放在新的字典中。 – MattDMo

+0

@MattDMo更新解决方案 – Hackaholic

+0

但仍然不正确。 'NameError:名称'my_new_dict'未定义' – MattDMo

0
my_data = [ ['FOXP2_MOUSE', 'AminoAcidSequence1'], ['FOXP2_RAT','AminoAcidSequence2'], ['FOXP2_DOG', 'AminoAcidSequence3'] ] 

def custom_filter_data(data, key): 

    final_res = [] 

    for i in range(len(data)): 
     if data[i][0] == key: 
      final_res.append(data[i]) 
      del data[i] 

    return data, final_res 

results = custom_filter_data(my_data,'FOXP2_DOG') 
old = results[0] 
new = results[1] 
print old 
print new 
+0

谢谢supamaze!它工作 –

+0

@ jaimed_2003很高兴它有帮助,你可以标记这个答案接受,如果你发现这最有用的? – supamaze