我有很长的离子和波长元组列表:
[('Cu II', 515.323),('Cu I', 515.809),('Cu VII', 518.336),...]
每个元组中的第一个元素是一个离子数,我创建了一个列表,用于获取整个元组列表中出现的每种类型的离子。
['Cu II','Cu I','Cu XV'...]
如何创建一个新的字典(或numpy数组),使每个波长与附属离子数/类型相匹配?我希望它看起来像这样(使用假值)
{'Cu I: 515.8,444,333..., 'Cu II':515.3,343,233, ...}
答案 0 :(得分:3)
尝试使用defaultdict:
from collections import defaultdict
d = defaultdict(list)
for item in tuples:
d[item[0]].append(item[1])
答案 1 :(得分:0)
我认为最常用的方法是词典理解:
>>> big_list = [('Cu II', 515.323),('Cu I', 515.809),('Cu VII', 518.336)]
>>> wavelengths = { ion : wavelength for ion, wavelength in big_list}
>>> wavelengths['Cu II']
515.323