Python
 Computer >> コンピューター >  >> プログラミング >> Python

文字列から辞書を作成するPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 −文字列入力が与えられたので、それを辞書タイプに変換する必要があります

ここでは、組み込みのdict()関数を使用せずに問題を解決する2つの方法について説明します。

メソッド1-eval()メソッドの使用

Evalメソッドは、構文または文字列の形成が辞書の構文または形式に類似している場合にのみ使用されます。その場合、以下で説明するように、文字列から辞書への直接変換が発生する可能性があります。

# String
string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}"
# eval() function
dict_string = eval(string)
print(dict_string)
print(dict_string['T'])
print(dict_string['T'])

出力

{'T': 3, 'U': 2, 'O': 4, 'R': 5}
3
3

方法2-ジェネレーター関数の使用

辞書の構文に似た文字列入力を取得した場合、ジェネレータ式を使用して、それを辞書に変換できます。

string = "T-3 , U-2 , T-1 , O-4 , R-5"
# Converting string to dictionary
dict_string = dict((x.strip(), y.strip()) for x, y in
(element.split('-') for element in string.split(', ')))
print(dict_string)
print(dict_string['T'])
print(dict_string['T'])

出力

{'T': '1', 'U': '2', 'O': '4', 'R': '5'}
1
1

結論

この記事では、文字列から辞書を作成する方法を学びました。


  1. Pythonプログラムで文字列からn番目の文字を削除する

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 文字列が与えられたので、与えられた文字列からi番目のインデックス付き文字を削除して表示する必要があります。 Pythonのどの文字列でも、インデックス付けは常に0から始まります。文字列「tutorialspoint」があるとすると、そのインデックス付けは次のように行われます- T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 次に、ステートメントを解決するためのPythonスクリプトgを見てみましょう- 例 def remove(str

  2. 文字列からn番目の文字を削除するためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −文字列が与えられたので、与えられた文字列からi番目のインデックス付き文字を削除して表示する必要があります。 Pythonのどの文字列でも、インデックス付けは常に0から始まります。文字列「tutorialspoint」があるとすると、そのインデックス付けは次のように行われます- T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 次に、ステートメントを解決するためのPythonスクリプトを見てみましょう- 例 def remove