2013-05-17 4 views
0

Я пишу скрипт для анализа данных в бейсбольной игре. В моем сценарии я работаю с матрицей, где значение каждого элемента является словарем. Например:Добавление списка словарей в матрице

{'Date':gameDate},{'Home Team':homeTeam},{'Away Team':awayTeam} 

Таким образом, парсер создает список игр. Если я хочу, чтобы напечатать игры, где Уайт Сокс команда гостей, я пишу следующее:

for event in gameMatrix: 
    if event['Away Team'] == "Chicago White Sox": 
     print event.items() 

Выход есть, например:

[('Date', '2013-05-17 02:05'), ('Away Team', 'Chicago White Sox'), ('Home Team', 'LAA Angels')] 

Но позволяет сказать, что я хочу добавить еще один словарь к конкретным типам игр, снова позволяет использовать Уайт Сокс игры в качестве примера: (в псевдокоде)

for event in gameMatrix: 
    if event['Away Team'] == "Chicago White Sox": 
     append {'New Value': "New value"} 
     print event.items() 

Таким образом, ожидаемый результат будет

{'Date':gameDate},{'Home Team':homeTeam},{'Away Team':awayTeam}{'New Value':"New Value"} 

Но все, что я пробовал, в конечном итоге дает мне какие-то ошибки (т. Объект 'dict' не имеет атрибута 'append', индексы списка должны быть целыми числами, keyerror и т. д.)

Итак, как добавить новый словарь в определенную строку игры Matrix?

+1

Почему у вас есть (список) отдельных словарей, а не один словарь с несколькими ключами? –

+0

@JonClements Я думаю, вы неправильно интерпретируете свои неправильно описанные структуры? – pydsigner

+0

@JonClements Clements Я вставляю их в базу данных MySQL –

ответ

3

Если я не понял что-то,

for event in gameMatrix: 
    if event['Away Team'] == "Chicago White Sox": 
     event['new key'] = 'New value' 
     print event.items() 
Смежные вопросы