>  기사  >  백엔드 개발  >  Python 사전에서 하나의 키로 여러 값을 쓰는 방법은 무엇입니까?

Python 사전에서 하나의 키로 여러 값을 쓰는 방법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-06-23 13:50:065917검색

Python 사전에서 하나의 키로 여러 값을 쓰는 방법은 무엇입니까?

한 번의 클릭으로 Python 사전에 여러 값을 쓰는 방법은 무엇입니까?

파이썬 사전의 원클릭 다중 값 작성 방법:

1. 루프를 통해 사전 키, 값을 쓰고 지정된 키-값 쌍 삭제:

원본 텍스트 'jp_url.txt' 각 줄 요소 쉼표로 구분됨 구분:

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’.......}

코드는 다음과 같습니다.

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. 원클릭으로 여러 값을 작성하는 루프:

형식 {key:[value1,value2,...]}

text txt 형식은 다음과 같습니다.

  • guaguashipinliaotianshi |.guagua.cn,

  • guaguashipinliaotianshi |iguagua.net,

  • guaguashipinliaotianshi|.17guagua.com,

  • jiuxiumeinvzhibo|.69xiu.com,

  • n bazhibo|.estream.cn,

  • youbo|y b.sxsapp.com,


첫 번째 열에 중복된 이름이 있습니다. 하나의 이름이 여러 결과에 해당하도록 하고 싶습니다. 코드는 다음과 같습니다.

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

권장 튜토리얼: " 파이썬 비디오 튜토리얼"

위 내용은 Python 사전에서 하나의 키로 여러 값을 쓰는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.