Python 2.7.9字典问题:我在Python中有一个字典,其中包含先前已附加的列表,并且这些列表已映射,例如1 => 10.2、2 => 10.33如何在字典中查找单个值并删除它?例如找到'a'= 2并删除'a'和相应的'b'值:
myDictBefore = {'a': [1, 2, 3], 'b': [10.2, 10.33, 10.05]}
myDictAfter = {'a': [1, 3], 'b': [10.2, 10.05]}
我怀疑我应该找到'a'值并获取索引,然后删除myDict ['a'] [index]
和myDict ['b'] [index]-尽管我不确定如何执行此操作。
怎么样:
idx = myDictBefore['a'].index(2)
myDictBefore['a'].pop(idx)
myDictBefore['b'].pop(idx)
如果出现这种情况的频率更高,则最好为它编写一个通用函数:
def removeRow(dct, col, val):
'''remove a "row" from a table-like dictionary containing lists,
where the value of that row in a given column is equal to some
value'''
idx = dct[col].index(val)
for key in dct:
dct[key].pop(idx)
然后可以这样使用:
removeRow(myDictBefore, 'a', 2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句