
Untitled
By: a guest on
Jul 1st, 2012 | syntax:
None | size: 1.13 KB | hits: 17 | expires: Never
Python: Appending to a list in a dictionary
x1 y1 z1
x1 y2 z2
x2 y3 z3
data_str = """x1 y1 z1
x1 y2 z2
x2 y3 z3"""
data_list = [d.split() for d in data_str.splitlines()] # [['x1', 'y1', 'z1'], ['x1', 'y2', 'z2'], ['x2', 'y3', 'z3']]
from collections import defaultdict
data_dict = defaultdict(list)
for data_row in data_list: # E.g., data_row = ['x1', 'y1', 'z1']
data_dict[data_row[0]].append(data_row[1:])
print data_dict # defaultdict(<type 'list'>, {'x2': [['y3', 'z3']], 'x1': [['y1', 'z1'], ['y2', 'z2']]})
def makeKeyValuePair(tokens):
return tokens[0], tokens[1:]
print dict(makeKeyValuePair(line.rstrip().split()) for line in fileObject)
from collections import defaultdict
d = defaultdict(list)
for line in fileObject:
tokens = line.rstrip().split()
d[tokens[0]].append(tokens[1:])
d={}
for line in file:
split = line.strip().split(" ")
if not d.has_key(split[0]): d[split[0]] = []
d[split[0]].append(split[1:])
result = { }
for line in lines:
terms = line.split()
result.setdefault(terms[0], []).append(terms[1:])