2016-12-01 93 views
0

Python新手在這裏。Python字典,相同的字符串進入密鑰

我有一個包含許多字符串的文件。其中一些字符串具有相同的ID。我想將這些ID添加到一個單一的關鍵。

的數據,將來自文件,看起來像:

1234, Random User, first data 
    2345, Another User, random data 
    1234, Random User, different data 

我將如何把第一和第三串入字典的相同的密鑰。

1234: {[1234, Random User, first data], [1234, Random User, different data]} 
    2345: {[2345, Another User, random data]} 

這樣的事情是我想要的。

從新創建的字典中,我將如何提取僅部分數據,例如我只想打印用戶名或數據。

+0

將鍵正則表達並使用'collections'模塊中的'defaultdict'。 –

+0

「第一個數據」的「隨機用戶」和「不同數據」的「隨機用戶」都一樣嗎? 這真的是你想如何呈現數據?請說明您打算使用哪些數據,以防止[xyproblem](http://xyproblem.info/) –

+0

是,隨機用戶是同一用戶,因爲他們具有相同的ID(1234)。例如,數據將是2個整數,我會加起來。 – Park

回答

1
from collections import defaultdict 

res = defaultdict(list) 

for line in open('myfile.txt'): 
    key = line.split(",", 1)[0] 
    res[key].append(line)