2017-04-10 9 views
0

I以下があります。のPython:(APIのPOST)のdictには、リストを変換

ra_int_tuples = set((d['name'], d['ipv4addr']) for d in ra_int) 
    print(ra_int_tuples) 
    ra_ext_tuples = set((d['name'], d['ipv4addr']) for d in ra_ext) 
    print(ra_ext_tuples) 

    new_addresses = [t for t in ra_int_tuples if t not in ra_ext_tuples] 

    print(new_addresses) 

これが返されます、'10 0.60

[( 'test-rz-01.test.de' .1.100 ')、(' test2.test.de」、 '10 .60.1.10' )]

私は(私はAPIに戻って投稿することができます)JSONにこれを変換する必要があります。 は、私はそれが辞書を使用するのが最善だ理解ので、私は使用:

d = dict([(k, v) for k, v in zip(new_addresses[::2], new_addresses[1::2])]) 

が、これは私を与える:、

{( 'test-rz-01.test.de' '10 .60.1.100 '):(' test2.test.de」 '10 .60.1.10 ')}

代わりに:

{(' test-rz-01.test.de ':' 10.60.1。 100 ')、(' test2.test.de ': '10 .60.1.10')}

私は明らかに何かが欠けていると確信しています。

答えて

3

あなたは理解する必要はありません。 dictは、タプルのリストを扱うことができます:

d = dict([('test-rz-01.test.de', '10.60.1.100'), ('test2.test.de', '10.60.1.10')]) 
# {'test-rz-01.test.de': '10.60.1.100', 'test2.test.de': '10.60.1.10'} 
+0

ありがとう、私はこの間にもこれを見てきました。 – f0rd42

関連する問題