2016-04-10 130 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