ここに私のコードです。私は多くのdefaultdictsを作成するための名前のリストを構築しようとしています。次に、これらのデフォルトのディクテーションを関数を呼び出すことによって変更したいと思います。 コメントのように問題があります。関数呼び出しで辞書を修正するPython
#!/usr/bin/python
from collections import defaultdict
class Stats(object):
def __init__(self, name, namedict):
self.name = name
self.namedict = namedict
def update_stats(self, playerdict):
self.playerdict = playerdict
playerdict['HR'] += 1
return(playerdict)
l = ['a', 'b', 'c']
for x in l:
d = x + 'dict' # trying to make a list of dict names
print "Name is",d # it is a string so far
d = defaultdict(int) # now it is a dict but what is its name?
print d # i have a structure here but don't know its name
stats = Stats('stats',d)
# next test code block does not work
#for k,v in adict.iteritems(): # adict not defined!
# print k,v
# next code block does not work either
for y in l:
dictname = y + 'dict'
dictname = stats.update_stats(**dictname)
# it thinks dictname is a String
# in general what is the right way to pass in a dictionary
# and get it back in a modified state?
あなたのコードadict = {}に定義されている辞書はありませんか?たぶんこれはあなたを起動させることができますhttp://www.tutorialsp.com/jp/python/python_dictionary.htm – glls
混乱は、他の言語では、より緩慢ですが、それはループの内部に文字列を構築し、それらを新しい辞書にすることはOKです名前。私は、ループの中で、文字列のadict、bdictなどを作成し、新しいdictを初期化すると同時に、それらを新しいdictに割り当てようとしていました。 –