Maison  >  Questions et réponses  >  le corps du texte

incrément régulier python

Les éléments suivants ont été collectés à l'aide de re.sub. Vous devez ajouter "1": "2": "3" devant chaque {}. Veuillez me dire comment écrire ceci :

.
'{"nClass":-1,"nIcon":16},{"nClass":-1,"nIcon":15},{"nClass":-1,"nIcon":14}'

Effet final :

'“1”:{"nClass":-1,"nIcon":16},“2”:{"nClass":-1,"nIcon":15},“3”:{"nClass":-1,"nIcon":14}'
phpcn_u1582phpcn_u15822733 Il y a quelques jours577

répondre à tous(2)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-18 11:00:27

    Votre description n'est pas assez claire. Vous avez dit que le résultat devrait être une liste. Voulez-vous la convertir en dict ?

    import json
    
    str = '{"nClass":-1,"nIcon":16},{"nClass":-1,"nIcon":15},{"nClass":-1,"nIcon":14}'
    lst = json.loads('[{}]'.format(str))
    
    l  = ['"{}":{}'.format(i+1, json.dumps(v)) for i,v in enumerate(lst)]
    print ','.join(l)

    répondre
    0
  • 黄舟

    黄舟2017-05-18 11:00:27

    import re
    data = '{"nClass":-1,"nIcon":16},{"nClass":-1,"nIcon":15},   {"nClass":-1,"nIcon":14}'
    # 提取为数组
    data = re.findall('((?=,\s?)?\{.*?\})+', data)
    # 下标从1开始, 所以i+1
    print ','.join(['"%d":%s' % (i+1, v) for i, v in enumerate(data)])
    # "1":{"nClass":-1,"nIcon":16},"2":{"nClass":-1,"nIcon":15},"3":{"nClass":-1,"nIcon":14}

    répondre
    0
  • Annulerrépondre