2017-03-18 9 views
1

与えられた文字列を変更するmodifyという関数を定義しました。私はelementsという名前の辞書を持っていて、そこにいくつかの文字列が格納されています。しかし、私はdictに格納されている文字列を変更することはできません。Pythonでdictの要素を変更できません

x = "abc" 
x = modify(x) 

これは機能しますが、

for element in elements: 
    element = modify(element) 

これは機能しません。どんな考え?私はかなり新しいPythonです。

答えて

0

ディクテーションの要素を反復しながら変更することはできません。

あなたはこのようなものを使用する必要があるだろう:

elements = {k: modify(v) for k, v in elements.items()} 

あなたの場合:あなたは辞書の各メンバーに関数を適用する必要がある場合

for key in elements: 
    elements[key] = modify(elements[key]) 
+0

うわー!早かった。ありがとう、トン!それは今働く。 –

+0

@JohnSmith:このサイトでは、すべての有益な回答をupvotingして感謝の意を表します。答えの左上にある上向き矢印をクリックすると、そのようになります。さらに、答えの左上隅にあるチェックマークをクリックして、最良の回答を受け入れます(実際にあなたの質問に答えた場合)。それはコメントでお礼を言うよりも優れています。また、他の人があなたの質問に答えられたことを知るのに役立ちます。 –

+0

回答を受け入れるための時間制限があります。私の担当者は私にupvoteを許可しません。 私は答えをクリックしようとしました。しかし、それは私にx分待つように頼んだ。 –

0

は、dictの内包表記を使用することを検討してPython 2.7を使用していますelements.items()の代わりにelements.iteritems()を使用しています。

+0

これは私のために少し複雑です。私はちょうど初心者なので。私はSatyaの答えに行く。とにかく、ありがとう。 –

関連する問題