У меня есть файл, например:словарь со списком значений
a 1
a 2
b 5
c 8
a 9
Я хочу, чтобы сложить второе поле в ключе, так что у меня есть суммарное количество и, следовательно, один ключ: пары значений.
С большим набором данных я думаю, что лучший способ сделать это - создать словарь, содержащий список значений для каждого уникального ключа. Это лучший подход?
Как настроить списки значений для каждой клавиши точно (ниже код, кажется, перезаписывает значения вместо добавления)?
dict={}
file=open('foo.txt','r')
lines=file.readlines()
for line in lines:
k, v=line.split()
dict[k]=[v]
теперь, если я хочу взять суммарные количества заселенных в первом словаре и сравнить оба ключи и значения против ключей и значений в другом словаре, чтобы определить различия между ними, я могу только заключить, что-то вроде следующего :
для г в res.keys():
if res2.get(i):
print 'match',i
else:
print i,'does not match'
для г в res2.keys():
if res.get(i):
print 'match',i
else:
print i,'does not match'
для г в res.values ():
if res2.get(i):
print 'match',i
else:
print i,'does not match'
для г в res2.values ():
if res.get(i):
print 'match',i
else:
print i,'does not match'
громоздким и глючит ... нужна помощь!
awesome ... thx за помощью! – NewToPy
Если этот (или любой другой ответ) решает вашу проблему, рассмотрите [принятие его] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). – phihag
будет res [k] .append (v) работать, если у меня есть несколько переменных, которые я хочу добавить? то есть. k, field1, field2, field3, field4 = line.split() res [k] .append (field1, field2, field3, field4) – NewToPy