python 如何将列表转为字典,key值相同则合并value

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 如何将列表转为字典,key值相同则合并value相关的知识,希望对你有一定的参考价值。

图一为excel数据,如何将其变成‘齐建国’:[13,33], '齐二石':[38], '黄鲁成':[26], '黄津孚':[31]

a=\'齐建国 齐建国 齐二石 黄鲁成 黄津孚\'.split()
b=[13,33,38,26,31]
d=
for x in range(len(a)):
if a[x] in d:
d[a[x]]+=[b[x]]
else:
d[a[x]]=[b[x]]
print(d)

参考技术A 单纯从数据结构上来讲的话,字典的数据结构是散列,也就是哈希表,它是无序的,而列表的数据结构是链表,是有序的,所以想把字典转换成列表并且保持顺序不变,是不可行的。

题主可以使用OrderedDict(Python 2.7+)有序字典,OrderedDict是dict的子类,它记住了内容添加的顺序。

另外如果想把字典的key转换成列表,使用dict.keys()就可以了。
参考技术B

import pandas as pd

df=pd.DataFrame(\'author\':\'齐建国 齐建国 齐二石 黄鲁成 黄津孚\'.split(),\'class\':[13,33,38,26,31]
)
print(df.groupby(\'author\')[\'class\'].apply(lambda x:x.tolist()).to_dict())

参考技术C mobile=[['apple','ios','100','10'],['pear','android','200','20'],['apple','ios','500','50'],['pear','android','600','60']]
mobiledict=
for elem in mobile:
key=(elem[0],elem[1])
if key in mobiledict:
mobiledict[key][0]+=int(elem[2])
mobiledict[key][1]+=int(elem[3])
else:
mobiledict[key]=[int(elem[2]),int(elem[3])]
print(mobiledict)
参考技术D python是当下十分火爆的编程语言,尤其在人工智能应用方面。如果有心从事编程方向的工作,最好到专业机构深入学习、多实践,更贴近市场,这样更有利于将来的发展。

如何将文件作为列表/字典读取? [复制]

【中文标题】如何将文件作为列表/字典读取? [复制]【英文标题】:How to read a file as a list / dict? [duplicate] 【发布时间】:2017-11-20 18:56:53 【问题描述】:

我有一个与 python 列表/字典具有相同结构的文件,即

[
    
      "key1" : "value1",
      "key2" : "value2",
       ...
    ,
    
      "key1" : "value3",
      "key2" : "value4",
      ...
    ,
    ...
]

是否有一些简单的方法可以读取这个文件并将其转换为字典列表?

【问题讨论】:

看起来这是json...你可以使用json库。 或者,在更一般的情况下,查看here。 【参考方案1】:
with open('your_file', encoding='utf-8') as data_file:
   data = json.loads(data_file.read())

【讨论】:

【参考方案2】:

如果文件是json文件,那么

import json
with open('file_url') as data_file:    
    data = json.load(data_file)
    print(data[0]['key1'])        
    print(data[0]['key2'])

【讨论】:

【参考方案3】:

我想你想看看JSON 模块。当然,如果那是您文件的格式。如果没有,您可以编写自己的文本解析器。了解有关您的用例、文件来源以及此类内容的更多信息会很有帮助。

【讨论】:

以上是关于python 如何将列表转为字典,key值相同则合并value的主要内容,如果未能解决你的问题,请参考以下文章

python 列表转为字典的两个小方法

python 列表转为字典的两个小方法

python 列表转为字典的两个小方法

Python 如果两个字典key值相同,如何提取对应values组成新的字典

Python两个字典key相同的值组成新字典?

python字典key不同,value相同的情况下,怎么取出所有key?