1차원 리스트를 json형태로 변경하고 싶습니다.

조회수 7785회

a.py

ddd=['norm9_ab1', 'dataset-hdf', 'audio', 'csvfile', 'saveHDF', 'backend_test', 'keras-adversarial', 'pathconnect']

filelist=[]

i=1
while i < len(ddd):
    filelist.append('\"'+str(i)+'\":'+'\"'+ddd[i]+'\"')
    i=i+1

print(filelist)

제가 ddd라는 1차원 배열을 json 형태로 만드려고 하는데요.. 완전 수동으로 바꾸는 중인데, 혹시 간단히 바꿔주는 라이브러리가 있을까요?? 찾아봤는데.. 검색능력이 부족한건지.. 잘 안나오네요..

결과

['"1":"dataset-hdf"', '"2":"audio"', '"3":"csvfile"', '"4":"saveHDF"', '"5":"backend_test"', '"6":"keras-adversarial"', '"7":"pathconnect"']
  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • 파이썬 기본 모듈중에 json 모듈이 제공됩니다.

    그런데 원하는 결과는 key:value 형태군요?

    아래 예제를 참고하세요.

    import json
    
    ddd = ['norm9_ab1', 'dataset-hdf', 'audio', 'csvfile', 'saveHDF', 'backend_test', 'keras-adversarial', 'pathconnect']
    M = dict(zip(range(1, len(ddd) + 1), ddd))
    json.dumps(M)
    
    
    '{"1": "norm9_ab1", "2": "dataset-hdf", "3": "audio", "4": "csvfile", "5": "saveHDF", "6": "backend_test", "7": "keras-adversarial", "8": "pathconnect"}'
    
  • GO 로 해보기

    package main
    
    import (
        "encoding/json"
        "fmt"
        "strconv"
    )
    
    func main() {
        ddd := []string{"norm9_ab1", "dataset-hdf", "audio", "csvfile", "saveHDF", "backend_test", "keras-adversarial", "pathconnect"}
        M := make(map[string]string)
        for k, v := range ddd {
            M[strconv.Itoa(k+1)] = v
        }
        jsonStr, _ := json.Marshal(M)
        fmt.Println(string(jsonStr))
    }
    
    {"1":"norm9_ab1","2":"dataset-hdf","3":"audio","4":"csvfile","5":"saveHDF","6":"backend_test","7":"keras-adversarial","8":"pathconnect"}
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)