【发布时间】:2021-11-21 03:08:47
【问题描述】:
我需要执行以下操作:
- 遍历字典列表 [{},{}]
- 调用一个转换函数来转换每个字典,它返回一个字典。
- 这里的键和值不是静态的,而是数据框名称和数据框值。所以字典可能有一个或多个键值对。
- 我需要将其存储在最终字典中
- 调用一个转换函数来转换每个字典,它返回一个字典。
预期:预期数据将是字典:
{"key1":"val1", "key2":"val2", "key3":"val3"} # ... in actual, the key would be dataframe name, value would be dataframe value
简化用例:
dictname = [{"key1":"val1","key2":"val2"},{"key3":"value3"}] # input list of dictionary
def transform(each):
return each # to oversimplify, this would be a dictionary with one or more keys with transformations.
final = {transform(each) for each in dictname}
final
在这个问题上查看了其他相关线程,无法弄清楚如何处理具体情况。谁能指导一下?e
【问题讨论】:
-
必须
transform返回一个字典吗?为什么不只返回新值?密钥由输入确定。 -
您的代码等同于
{{...} for .. in ..},因此您有一个集合理解,您正试图将其放入其中。为什么不简单地{k: 'new_value' for k in dictname}?您需要参与该函数调用吗? -
@timgeb - 是的,更新问题。
-
@user16798185 那么chainmap解决方案应该这样做
标签: python python-3.x