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

Pythonでリストを辞書に変換する方法は?


このリストは、データ要素を含む線形データ構造です。

1,2,3,4,5,6

ディクショナリは、キーと値のペアで構成されるデータ構造です。キーは一意であり、各キーにはいくつかの値が関連付けられています。

1:2, 3:4, 5:6

リストが与えられたら、このリストを辞書に変換して、奇数の位置の要素がキーになり、偶数の位置の要素が上記の例に示されている値になるようにします。

方法1-リストを反復処理する

def convert(l):
   dic={}
   for i in range(0,len(l),2):
      dic[l[i]]=l[i+1]

   return dic

ar=[1,'Delhi',2,'Kolkata',3,'Bangalore',4,'Noida']
print(convert(ar))

出力

{1: 'Delhi', 2: 'Kolkata', 3: 'Bangalore', 4: 'Noida'}

方法2-zip()の使用

変数iへのイテレータを初期化します。その後、キーと値を一緒に圧縮し、dict()を使用して辞書に型キャストします。

def convert(l):
   i=iter(l)
   dic=dict(zip(i,i))
   return dic

ar=[1,'Delhi',2,'Kolkata',3,'Bangalore',4,'Noida']
print(convert(ar))

出力

{1: 'Delhi', 2: 'Kolkata', 3: 'Bangalore', 4: 'Noida'}

  1. 文字列をPythonで単語のリストに変換する方法は?

    単語のリスト内の文字列を変換するには、空白で文字列を分割する必要があります。文字列クラスからsplit()を使用できます。このメソッドのデフォルトの区切り文字は空白です。つまり、文字列で呼び出されると、その文字列が空白文字で分割されます。 例 >>> "Please split this string".split() ['Please', 'split', 'this', 'string'] 正規表現を使用して、この問題を解決することもできます。正規表現\s +を区切り文字として使用して、

  2. Pythonでリストの文字列表現をリストに変換するにはどうすればよいですか?

    ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、次のPythonリテラル構造のみで構成されます:文字列、数値、タプル、リスト、dict、ブール値、およびなし。 例 fruits = "['apple', 'orange', 'banana']" import ast fruits = ast.literal_eval(fruits) print fruits[1], fruits[0]