Разделение результата DynamoDB на двумерный массив в Python - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь разбить этот массив на Python, который я вытащил из таблицы DynamoDB на отдельные порции, чтобы затем я мог вычислить Средние значения каждого AssetID, сохраняя AssetID и Rating в отдельных частях массива.

[{'ID': Decimal('0'), 'AssetID': Decimal('0'), 'Rating': Decimal('3')}, {'ID': Decimal('1'), 'AssetID': Decimal('0'), 'Rating': Decimal('5')}]

Так, например, я бы хотел, чтобы массив выглядел следующим образом:

AssetIDArray[AssetID][Rating]

Поэтому, следовательно, если бы я напечатал следующее, я бы получил 5.

AssetIDArray[0][1]

Заранее спасибо за помощь!

1 Ответ

1 голос
/ 18 февраля 2020

Вам нужно указать в качестве AssetID вместо слова список:

from decimal import Decimal

items = [{'ID': Decimal('0'), 'AssetID': Decimal('0'), 'Rating': Decimal('3')},
         {'ID': Decimal('1'), 'AssetID': Decimal('0'), 'Rating': Decimal('5')}]

parsed_item_list = {}

for item in items:
    assetId = int(item.get('AssetID'))
    rating = int(item.get('Rating'))
    if assetId not in parsed_item_list:
        parsed_item_list[assetId] = []
    parsed_item_list[assetId].append(rating)

print(parsed_item_list.get(0)[0]) # 3
print(parsed_item_list.get(0)[1]) # 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...