2017-08-16 19 views
0

私はリストをPythonでループで作成していますが、このリストの各項目を値として割り当てたいと思います。簡単に聞こえますが、私はmuリストにある辞書と全く同じ数の辞書を作成する必要があります。これを行った後リストを作成して辞書の値として項目を使用する

arr_temp = [] 
for i in range(random.randrange(1,len(findings_list))): 
    rand_item = random.choice(findings_list) 
    arr_temp.append(rand_item) 
# ['Lymph nodes', 'Calcifications US'] 

、私は 、「名前」とリスト項目の値のキー名と2つの辞書を作成する必要があるので、この場合には、私はまた

dict1 = {"name": 'Lymph nodes'} 
dict2 = {"name": 'Calcifications US'} 

のようなものを持っていると思います、あなたはそれが、私はそれを本当に感謝します

...findings: [{"name": 'Lymph nodes'}, 
       {"name": 'Calcifications US'}] 

のようになりますので、キーのdictする辞書の配列を追加するための任意の効率的な方法を提案することができます。ありがとう!

+0

これは常に2つの項目になるのでしょうか、項目数が変わるのですか? –

+0

これは辞書の長さです。 – Adi219

答えて

2
{'findings': [{"name":x} for x in arr_tmp]} 
+0

素晴らしい、ありがとう!このような単純な解決策で、時間を費やしました。 –

+0

このコードは質問に答えるかもしれませんが、どのようにして問題が解決されたのか、および/またはそれがなぜ解決されるのかについての追加の文脈を提供すると、回答の長期的価値が向上します。 – TemporalWolf

2
my_list = ['Lymph nodes', 'Calcifications US'] 
[{'name': v} for v in my_list] 
[{'name': 'Lymph nodes'}, {'name': 'Calcifications US'}] 
+0

ありがとう!私は、リストの理解と辞書の組み合わせを理解するのを助けました。 –

+0

このコードは質問に答えるかもしれませんが、どのようにして問題が解決されるのか、および/またはそれがなぜ解決されるのかについての追加の文脈を提供すると、回答の長期的価値が向上します。 – TemporalWolf

0
String = "" 

for i in range(1, len(arr_temp) + 1): 
    String += "dict" + str(i) + " = " + {/"name/": '" + str(arr_temp[i - 1]) + "'}\n' 

exec(String) 

私はexecまたはevalを使用するようにひんしゅくを買うということを知ってが、私はちょうど質問に答えますよ。 OPがそれを使用したい場合、それは彼女の選択です。

+0

ありがとう、しかし、私の悪い - 私は本当に毎回それを名前を変更する必要はありません、ちょうど作成されたdictsの数を強調したい。 –

関連する問題