2016-12-02 5 views
0

私はこのような辞書があります。辞書の値を文字列から整数に変更して戻すにはどうすればいいですか?

d = {(1,1):'.',(2,2):'b', (3,3):'1',(4,4):'2',(5,5):'3'} 

を、私は辞書にアイテムを反復処理することができるようにしたい、キーの値が数値であるかどうかを確認(それが現在の文字列型であるが、私がする必要があります上記の文字列が実際にドットや文字ではない数字かどうか確認してください) を値+ = 1のように追加してください。

辞書の値を文字列形式に戻す必要があります。

返される辞書は次のようになりますようにバック文字列に何(+1を追加するために)整数に文字列型の値を変更するための最良の方法だと?:

d = {(1,1):'.',(2,2):'b', (3,3):'2',(4,4):'3',(5,5):'4'} 

答えて

0
>>> d = {(1,1):'.',(2,2):'b', (3,3):'1',(4,4):'2',(5,5):'3'} 
>>> {k:(str(int(v)+1) if v.isdigit() else v) for k, v in d.items()} 
{(2, 2): 'b', (1, 1): '.', (4, 4): '3', (5, 5): '4', (3, 3): '2'} 
>>> 

ディクショナリの値で構成されているかどうかをチェックして+1値を返し、それ以外の場合はそのまま返すことができます。

+0

あなたの答え*が実際に何をしているのかを説明することは常に良いことです。*投稿するとき、この方法はOPから学ぶことができます。 – Roberrrt

+0

これを行うと、値が1ずつ増加した辞書が返されますが、整数だけでなく文字列として返された値が必要になります –

+0

@MProあなたは文字列にキャストすることができます – ritesht93

関連する問題