我有两张这样的单子:
listA = [a, b, c, d, e, f, g]
listB = [g, h, i, j, k, l]
我有以下功能
def genOneDic(dic1, dic2):
我想做一些事情,如返回一个单一的dic连接,如
dict(( e, dic1.get(e)) for e in listA) + dict(( e, dic2.get(e)) for e in listB)
这似乎不对,什么是正确的方法?你知道吗
dic1示例
dic1 = {'a':'1', 'b':'2', 'c':'3', 'd':'4', 'e':'5', 'f':'6', 'x':'10', 'z':'11'}
listA = ['a', 'b', 'c', 'd', 'e', 'f']
dict(( e, dic1.get(e)) for e in listA)
应返回get仅获取listA中的字段。现在加入listA和listB时都有一个“g”,但它们在单个dic中应该是不同的。应该有两个g。最好的解决方案是在钥匙上预先加上dic1或dic2,然后连接dic吗?你知道吗
下面是如何创建跳过两个列表中重叠键的dict。你知道吗
使用set intersection在两个列表中查找键:
然后重用设置的交点为重叠的关键点创建两个关键点。在这一步中,由于集合是无序的,您可能会使重叠中某些键的顺序松动:
您可以使用相同的技术交错两个列表和dict:
你的问题含糊不清,但我想这就是你要找的。你知道吗
相关问题 更多 >
编程相关推荐