python 中如何格式化数据
天蓬老师
天蓬老师 2017-04-17 17:53:37
0
3
589
(
    (1, '10.121.1.1:4730'), 
    (2, '127.0.0.1:4730'),
    (3, '127.0.0.1:4730')
)

如何格式化为以下格式 用python

{
    '10.121.1.1:4730':
        [(1, '10.121.1.1:4730')], 
    '127.0.0.1:4730':
        [(2, '127.0.0.1:4730'), (3, '127.0.0.1:4730')]
}
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(3)
小葫芦

Berdasarkan cadangan yang diberikan oleh @dokelung dan @松林2 lelaki

ips = (
    (1, '10.121.1.1:4730'),
    (2, '127.0.0.1:4730'),
    (3, '127.0.0.1:4730')
)

dic = {}
for v, k in ips:
    dic.setdefault(k, []).append((v, k))

print dic
洪涛

Walaupun ia telah diterima pakai, ia masih boleh disebut:
Apabila saya melihat setdefault ini, saya memikirkan collections.defaultdict Ia lebih berkuasa daripada setdefault Parameter yang diterima boleh menjadi jenis permulaan lalai atau fungsi . Malah, ia boleh menjadi lebih ringkas

from collections import defaultdict 
ips = (
    (1, '10.121.1.1:4730'),
    (2, '127.0.0.1:4730'),
    (3, '127.0.0.1:4730')
   )
 result = defaultdict(list)
 for v, k in ips:
     result[k].append((v, k))
Peter_Zhu

Di atas ialah tatasusunan, dan di bawah ialah JSON selepas nombor siri dict(). Hanya melintasi tatasusunan dan menggabungkannya ke dalam kamus dan keluarkan JSON.

import json

a = (
    (1, '10.121.1.1:4730'), 
    (2, '127.0.0.1:4730'),
    (3, '127.0.0.1:4730')
)

b = dict()
for value in a :
    number = value[0]
    address = value[1]
    if address not in b :
        b[address] = []
    b[address].append([number, address])

print json.dumps(b)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan