将字典理解应用于defaultdi

2024-09-23 22:20:29 发布

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

下面是将三列表格数据(openpyxl工作表)解析为defaultdict。在

def campaigns_and_adsets_and_pageviews_from_ga(ourTab):
    d = defaultdict(lambda: defaultdict(int))
    for row in ourTab.rows[1:-1]:
        if ('Facebook' in row[0].value) and ('(not set)' not in row[2].value):
            d[row[1].value][row[2].value] += row[4].value
    return d

其输出如下所示:

^{pr2}$

{I{1}中的另一个常量{I}与另一个常量相乘的结果是什么。在

是否可以将defaultdict解构回嵌套dict,以便使转换成为可能?或者还有什么其他的方法?在


Tags: and数据invaluedefnot表格row
1条回答
网友
1楼 · 发布于 2024-09-23 22:20:29

您可以使用一个简单的递归函数将数字与给定值相乘,并为每个dict实例构造一个新字典:

from numbers import Number

def multiply(o, mul):
    if isinstance(o, dict):
        return {k: multiply(v, mul) for k, v in o.items()}
    elif isinstance(o, Number):
        return o * mul
    else:
        return o

给定示例defaultdict和乘数2作为输入,输出如下:

^{pr2}$

请注意,该示例不适用于列表,对于那些需要添加更多代码的列表。在

相关问题 更多 >