私は、UnicodeとしてフォーマットされたPython辞書である入力データをいくつか持っています。このようなもの:ユニコード形式のPython辞書を正しくフォーマットするにはどうすればいいですか?
Input = {u'city': u'London', u'offer_type': u'3'}
そして、辞書の値を再フォーマットできるスクリプトを作成する必要があります。したがって、値が整数の場合、 "offer_type"の場合のように整数に設定されます。値は "city"のような文字列で、文字列として設定されます。これは、str()
とint()
の関数を使って簡単に行うことができます。
しかし、問題は、入力データが変わる可能性があるため、キーが異なる可能性があり、それらのキーに関連付けられた値も異なる可能性があるということです。ですから、ユニコード値が数字か文字列かどうかを自動的に区別して再フォーマットする必要があります。
私の最初のアイデアは、それぞれの値をとり、それらを整数に変換しようとしていました。エラーメッセージを取得したら、それを文字列に変換してみます。しかし、これは全くpythonicではない、私はパフォーマンスについて疑問を抱いています。
は、ありがとう アルバロ・
なぜ "という文字列に変換" してみてください?私は整数変換の必要性を理解することができますが、 "内部使用"のためには、ユニコードを使用する方法があります(ユニコードサンドイッチパターン参照:プログラムの入力ですべてのバイト文字列をデコードしてプログラムの出力でエンコードし、あなたのプログラム内でユニコードを使用する)。 –