当前位置 : 主页 > 网络编程 > 其它编程 >

Python–字典键值列表组合

来源:互联网 收集:自由互联 发布时间:2023-07-02
Python–字典键值列表组合原文:https://www. Python–字典键值列表组合 原文:https://www . geesforgeks . org/python-dictionary-key-value-list-组合拳/ 给定值为列表的字典,提取所有可能的组合,包括交叉键
Python–字典键值列表组合原文:https://www. Python–字典键值列表组合

原文:https://www . geesforgeks . org/python-dictionary-key-value-list-组合拳/

给定值为列表的字典,提取所有可能的组合,包括交叉键和值。

输入:test _ dict = {“Gfg”:[4,5],“is”:[1,2],“Best”:[9,4]}输出:{ 0:[' Gfg ',4],['is ',1],['Best ',9]],1: [['Gfg ',4],['is ',1],['Best ',4]],2:[' Gfg ',4],['is ',2],['Best '

输入 : test_dict = {"Gfg" : [4]," is" : [1]," Best" : [4]}输出 : {0: [['Gfg ',4],['is ',1],['Best ',4]]}解释:也打印所有可能的带值和交叉值的组合键。

方法一:使用 product() + zip() + loop

上述功能的组合可以用来解决这个问题。在本例中,我们使用 product()执行所有值的第一个组合键,使用 zip()和 loop 执行交叉组合键。

Python 3

# Python3 code to demonstrate working of # Dictionary Key Value lists combinations# Using product() + zip() + loopfrom itertools import product# initializing dictionarytest_dict = {"Gfg" : [4, 5, 7],             "is" : [1, 2, 9],             "Best" : [9, 4, 2]}# printing original dictionaryprint("The original dictionary is : " + str(test_dict))temp = list(test_dict.keys())        res = dict()cnt = 0# making key-value combinations using productfor combs in product (*test_dict.values()):    # zip used to perform cross keys combinations.    res[cnt] = [[ele, cnt] for ele, cnt in zip(test_dict, combs)]    cnt += 1# printing result print("The computed combinations : " + str(res)) 

Output

原始字典为:{'Gfg': [4,5,7],' is': [1,2,9],' Best': [9,4,2]}计算出的组合:{ 0:[' Gfg ',4],['is ',1],['Best ',9],,1:[' Gfg ',4],['Best ',4],,2: [['Gfg ',4],['is ',1],['Best ',2],,3:[[[ ['is ',9],['Best ',2]],9: [['Gfg ',5],['is ',1],['Best ',9]],10:[' Gfg ',5],['is ',1],['Best ',4]],11: [['Gfg ',5],['is ',1],['Best ',2],,12:[' Gfg ',5],['is ',2],['Best ',9],,13:[' Gfg ',5] 20:[' Gfg ',7],['is ',1],['Best ',2]],21:[' Gfg ',7],['is ',2],['Best ',9]],22: [['Gfg ',7],['is ',2],['Best ',4]],23: [['Gfg ',7],['is ',2],['Best ',2]],24:[' Gfg ',7],['is ',9],['Best '

方法 2:使用积()+循环

上述功能的组合也可以用来解决这个问题。在本例中,我们使用 product()执行内部和交叉键组合的任务。区别在于分组的容器是元组而不是列表。

Python 3

# Python3 code to demonstrate working of # Dictionary Key Value lists combinations# Using product() + loopfrom itertools import product# initializing dictionarytest_dict = {"Gfg" : [4, 5, 7],             "is" : [1, 2, 9],             "Best" : [9, 4, 2]}# printing original dictionaryprint("The original dictionary is : " + str(test_dict))res = {}for key, val in test_dict.items():    # for key-value combinations     res[key] = product([key], val)# computing cross key combinationsres = product(*res.values())# printing result print("The computed combinations : " + str(list(res))) 

Output

原始字典为:{'Gfg': [4,5,7],' is': [1,2,9],' Best': [9,4,2]}计算出的组合:[(' Gfg ',4)、(' is ',1)、(' Best ',9))、(' Gfg ',4)、(' is ',1)、(' Best ',4))、(' Gfg ',4)、(' is ',1)、(' Best ',2))、((' Gfg ',4)、(' is ',2)、((' 9))、((' Gfg ',5)、(' is ',1)、(' Best ',4))、((' Gfg ',5)、(' is ',1)、(' Best ',2))、(' Gfg ',5)、(' is ',2)、(' Best ',9))、(' Gfg ',5)、(' is ',2)、(' Best ',4)、((' Gfg ',5)、(' is ',2)、(' Best ',2))、((' Gfg ',5)、(' is ',9)、(' Best ' (“is”,2)、(“Best”,2))、((“Gfg”,7)、(“is”,9)、(“Best”,9))、(“Gfg”,7)、(“is”,9)、(“Best”,4))、(“Gfg”,7)、(“is”,9)、(“Best”,2))]

上一篇:hdu1086线段相交
下一篇:没有了
网友评论