comparing two lists
kyosohma at gmail.com
kyosohma at gmail.com
Thu Aug 23 13:03:14 EDT 2007
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)
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