ich habe folgendes Problem:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
class One(dict):
def __init__(self, id=0, name="", tel=0, member=[]):
dict.__init__(self)
self["id"] = id
self["name"] = name
self["tel"] = tel
self["member"] = member
class Many(object):
def __init__(self):
self._m = {}
def add(self, id):
self._m[id["id"]] = id
def __getitem__(self, id):
return self._m.get(id)
def __iter__(self):
return self._m.itervalues()
many = Many()
many.add(One(id=1, name="Mueller", tel="0800"))
many.add(One(id=3, name="Maier", tel="0802"))
many.add(One(id=4, name="Schulze", tel="0901"))
many.add(One(id=5, name="Becker", tel="0905"))
many.add(One(id=7, name="Schuster", tel="0706"))
for one in many:
print one # ok
print ""
print " add HSV to member von Becker"
many[5]["member"].append("HSV")
print many[5]["id"], many[5]["name"], many[5]["member"] #ok
print ""
for one in many:
print one # warum "HSV" bei allen Elementen?
Was mache ich falsch?
Gruß
Christoph