-=python=- 列表元素的删除问题!
大家看这一个字典:
names={'Leira':{'entered':1,'id':['garfield','coolgarfield']},\
'pig':{'entered':0,'id':['zhutou','zhu']}}
这个数据结构比较复杂,它是对应每一个名字有一个字典,存放他的登陆状况,和对应ID!
试想,有一个函数,希望删除对应某个name的对应ID,一般会这么写:
def delID(name,ID):
if ID in names[name]['id']:
del names[name]['id'][ name[name]['id'].index(ID) ] #prob
因为我们知道,删除列表的方式一般都是: del list[index]
于是就会出现上面prob那行的状况!似乎有悖于python优雅简洁的风格!如果结构更复杂的话,那么象这样的代码岂不是恶梦?!
而且,在上面的in判断中,已经查找过一遍元素,在下面的index方法中有查找一遍,显然效率颇有损失!
不知道删除列表中的对应元素,有没有更简洁,效率更高的方式?
(初学python,希望不会贻笑大方~ )