在Python中将DynamoDB结果拆分为2D数组

2024-09-27 00:21:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用Python将这个数组拆分,我从DynamoDB表中将它拆分为单独的块,这样我就可以计算每个AssetID的平均值,并将AssetID和评级存储到数组的单独部分

[{'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]

提前感谢您的帮助


Tags: id数组dynamodb中将平均值decimalratingassetid
1条回答
网友
1楼 · 发布于 2024-09-27 00:21:56

您需要一个dict而不是作为资产的列表:

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

相关问题 更多 >

    热门问题