White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

こんなの作ってみた

辞書型の辞書型と言うべきか?ただし[a][b]と[b][a]は同じものを指す。
これだと相関取るときに重複のチェックしなくていいかなーって。

class MultiDict:
	def __init__(self):
		self.parent = {}
	def add(self,x,y,value):
		if self.parent.has_key(x):
			if self.parent[x].has_key(y):
				self.parent[x][y] += value
			else:
				self.parent[x][y] = value
		elif self.parent.has_key(y):
			if self.parent[y].has_key(x):
				self.parent[y][x] += value
			else:
				self.parent[x][y] = value
		else:
			self.parent[x] = {}
			self.parent[x][y] = value
	def get(self,x,y):
		if self.parent.has_key(x):
			return self.parent[x][y]
		elif self.parent.has_key(y):
			return self.parent[y][x]
		else:
			return self.parent[x][y]

if __name__ == "__main__":
	md = MultiDict()
	md.add('a','b',1)
	print md.get('a','b')#1
	md.add('b','a',1)
	print md.get('a','b')#2
	print md.get('b','a')#2