Я пишу скрипт для обработки данных, поэтому у меня есть список, содержащий словари с вычисленными значениями. Как только я вычислил новые, я хочу добавить соответствующий словарь с новыми записями.Python34: использование словаря для копирования значений из одного списка словарей в другой
Я знаю, что могу сделать это со списком или массивом np, но я хочу узнать, как использовать словари. Я также начал использовать понимание списка, поэтому я хочу лучше понять, как его использовать. Так что усердно заниматься жизнью.
Вот упрощенные примеры.
Я вычисляю значения и помещаю их в словарь, который затем идет в список, соответствующий каждой записи.
A=[{'low':1},{'low':2}]
print(A)
[{'low': 1}, {'low': 2}] # entry 0 corresponds to sample 1 and the next to sample 2
B=[{'hi':1},{'hi':2}]
print(B)
[{'hi': 1}, {'hi': 2}] # entry 0 corresponds to sample 1 and the next to sample 2
C=[{}]*len(A) # initialize list to contain a dictionary for each sample. Each dictionary will receive the corresponding values copied from A and B
print(C)
[{}, {}]
Теперь я пытаюсь использовать словарь постижения
{C[x].update(A[x]) for x in range(len(A))}
print(C)
[{'low': 2}, {'low': 2}]
Результаты не то, что я ожидал. Я хочу что-то вроде этого:
[{'low':1,'high':1},{'low':1,'high':1}]
Что я не понимая здесь ...
Спасибо
Это комплект понимания. –
Ожидаете ли вы, что все значения равны 1, а не 1 или 2? –
На основе комплекса лучше, чем сложный, я бы рекомендовал использовать циклы здесь, понимание слова редко бывает ясным. –