comparing two lists

Ladislav Andel ladaan at iptel.org
Thu Aug 23 13:25:03 EDT 2007


kyosohma at gmail.com wrote:
> On Aug 23, 11:27 am, Ladislav Andel <lad... at iptel.org> wrote:
>   
>> Hi,
>> what would be the most efficient way to do following?
>>
>> I have a list of dictionaries  taken from DB e.g.
>> dblist = [{'id:1, 'host':'google.com','ip_address':'1.2.3.4'},
>> {'id:3, 'host':'yahoo.com','ip_address':'5.6.7.8'},
>> {'id:9, 'host':'msn.com','ip_address':'11.3.2.3'}]
>>
>> and list of object instances in memory(it's just for example)
>> which are looping within itself and testing particular hosts
>>
>> memlist = [<instance 1>,<instance 2>]
>> memlist[0].id  is 1 and  memlist[0].host is google.com etc.
>> memlist[1].id  is 9 and  memlist[1].host is msn.com etc.
>>
>> Now I want to add a new instance to memlist since id=3(in dblist) is not
>> in memlist.
>> How would you iterate through it and insert a new instance?
>>
>> The result should be:
>> memlist = [<instance 1>,<instance 2>, <instance 3>]
>> memlist[0].id  is 1 and  memlist[0].host is google.com etc.
>> memlist[1].id  is 3 and  memlist[1].host is yahoo.com etc.
>> memlist[2].id  is 9 and  memlist[2].host is msn.com etc.
>>
>> Furthermore, I can have the opposite situation.
>> This time I need to remove from memlist a host which is not in dblist.
>> How would you do this?
>>
>> The way how it works is that DBlist is loaded every 10 minutes and
>> compares with memlist.
>> The memlist should be the same as dblist.
>>
>> Could you help me, please?
>> I'm working on my version of this but somebody might be quicker than me.
>> In case I have it done I will post it.
>>
>> Thanks,
>> Lada
>>
>> There is
>>
>> and wt
>>     
>
> On lists that change in memory, I use the following looping structure:
>
> for i in range(len(in_memory_list)-1,-1,-1)
>
>   
well, actually I will need to iterate over 2 sequences which are not the 
same length
and synchronize it against the dblist i have.
But I will look at your post. Thanks a lot.

Lada
> This loops over the list backwards. I found this method here:
> http://mail.python.org/pipermail/python-list/1999-September/012451.html
>
> Hopefully this will fulfill your needs. I've used it to great effect!
>
> Mike
>
>   




More information about the Python-list mailing list