将多个值添加到字典中的唯一键 - Python
Adding multiple values to a unique key in dictionary - Python
以下是从 CSV 文件中获取的示例数据集。
7493928 O88643 P60953
7493922 O88643 P60954
749392e O88643 P65657
7493923 O88643 P65656
5845930 YPL094C YPR086W
我正在尝试在 python 中创建一个字典,使用 sample1 列作为键,使用 sample2 作为它的值。我需要一些指导来创建以下格式的字典,它不重复键 (sample1) 并将多个值 (sample2) 连接到同一个键。
'O88643': ['P60953', 'P60954', 'P65657', 'P65656'], 'YPL094C': ['YPR086W']
对此的任何意见都会有很大帮助。
您可能想要使用 defaultdict
。我不知道你是如何处理你的数据的,但你会像这样使用它:
from collections import defaultdict
samples = defaultdict(list)
for row in csv_rows:
row_id, sample1, sample2 = row
samples[sample1].append(sample2)
A defaultdict
如果在查找密钥时没有找到一个项目,将创建一个新项目。因此,当您遇到第一项 (O88643
) 时,samples
defaultdict 将为该键创建一个新的 list
。然后您可以立即将 sample2
值附加到该列表。
以下是从 CSV 文件中获取的示例数据集。
7493928 O88643 P60953
7493922 O88643 P60954
749392e O88643 P65657
7493923 O88643 P65656
5845930 YPL094C YPR086W
我正在尝试在 python 中创建一个字典,使用 sample1 列作为键,使用 sample2 作为它的值。我需要一些指导来创建以下格式的字典,它不重复键 (sample1) 并将多个值 (sample2) 连接到同一个键。
'O88643': ['P60953', 'P60954', 'P65657', 'P65656'], 'YPL094C': ['YPR086W']
对此的任何意见都会有很大帮助。
您可能想要使用 defaultdict
。我不知道你是如何处理你的数据的,但你会像这样使用它:
from collections import defaultdict
samples = defaultdict(list)
for row in csv_rows:
row_id, sample1, sample2 = row
samples[sample1].append(sample2)
A defaultdict
如果在查找密钥时没有找到一个项目,将创建一个新项目。因此,当您遇到第一项 (O88643
) 时,samples
defaultdict 将为该键创建一个新的 list
。然后您可以立即将 sample2
值附加到该列表。