我想接受此输入:
mycounter = [{6: ['Credit card']}, {2: ['Debit card']}, {2: ['Check']}]
#[{6: ['Credit card']}, {2: ['Debit card']}, {2: ['Check']}]
并获得此所需的输出:
[{6: ['Credit card']}, {2: ['Debit card', 'Check']}]
我的尝试如下,但与所需的输出不匹配。感谢您的帮助。谢谢。
temp = list(zip([*map(lambda d: next(iter(d.keys())), mycounter)], [*map(lambda d: next(iter(d.values())), mycounter)]))
c = collections.defaultdict(list)
for a,b in temp:
c[a].extend(b)
final = [dict(c)]
# Close, but not quite the desired output since it's should be two dict objects, not one
# [{6: ['Credit card'], 2: ['Debit card', 'Check']}]
我在stackoverflow上的搜索找到了与提供None值相结合的解决方案,但与我所要求的完全不同。我的问题与之前的另一个类似问题的输入有所不同。
一种选择是制作单个字典,然后在之后将其分成单个键值对: