Maison  >  Article  >  développement back-end  >  Comment écrire plusieurs valeurs avec une seule clé dans le dictionnaire Python ?

Comment écrire plusieurs valeurs avec une seule clé dans le dictionnaire Python ?

coldplay.xixi
coldplay.xixioriginal
2020-06-23 13:50:065941parcourir

Comment écrire plusieurs valeurs avec une seule clé dans le dictionnaire Python ?

Comment écrire plusieurs valeurs dans un dictionnaire python en un seul clic ?

Méthode d'écriture multi-valeurs en un clic dans le dictionnaire Python :

1. Boucle pour écrire la clé, la valeur et la valeur du dictionnaire et supprimer la valeur-clé spécifiée. paire :

Les éléments de chaque ligne du texte original 'jp_url.txt' sont séparés par des virgules :

host_key,product_id,product_name,cont_start,cont_end
ah2.zhangyue.com,100002,掌阅,bookId=,&startChapterId
ih2.ireader.com,100002,掌阅,bid=,&
www.ireader.com,100002,掌阅,&bid=,&cid
m.zhangyue.com,100002,掌阅,readbook/,/
c13.shuqireader.com,100003,书旗,bookId=,&chapterId
t.shuqi.com,100003,书旗,bid/,/cid
想要得到:
{‘100002’:‘product_name’.......}

Le code est le suivant :

def makeDict():
    fileRead=open('jp_url.txt','rb')
    lines=fileRead.readlines()
    read_dict={}#定义字典
    for line in lines:
        line_list=line.split(',')#每行按逗号分隔成列表
        id=line_list[1]#取到id
        name=line_list[2]#取到name
        read_dict[id]=name#此处关键产生键值对,其中key是id
    read_dict.pop('product_id')#删除key为‘product_id’的键值对
    return read_dict
read_dict=makeDict()

2. pour écrire des valeurs un-à-plusieurs :

Le format {key:[value1,value2,...]}

Le format du texte txt est le suivant :

  • guaguashipinliaotianshi|.guagua .cn,

  • guaguashipinliaotianshi|iguagua.net,

  • guaguashipinliaotianshi|.17guagua.com,

  • jiuxiumeinvzhibo|.69xiu.com,

  • nbazhibo|.estream.cn,

  • youbo|yb.sxsapp.com,


où Les noms de la première colonne sont répétés. Si vous souhaitez qu'un nom corresponde à plusieurs résultats, le code est le suivant :

def makehostDict():
    host_dict={}
    f_allhost=open('xml_host.txt','rb')
    lines=f_allhost.readlines()
    for line in lines:
        line_list=line.split('|')
        name=line_list[0]
        host=line_list[1].strip('\n')
        if host is not '':
            if  host_dict.has_key(name):
                host_dict.get(name).append(host)#此处为关键向字典里已经有的key(name)值后继续添加value(host)
            else:
                host_dict.setdefault(name,[]).append(host)#创建{name,[host]}value为列表的格式的字典。
    return host_dict
host_dict=makehostDict()
print host_dict

Tutoriel recommandé : "Tutoriel vidéo Python"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn