【发布时间】:2020-03-05 03:14:36
【问题描述】:
我正在尝试使用符号及其值递归地制作一副卡片,并且我可以创建代码以使一个通过迭代,但它没有更新以创建所有 52 张卡片。 我尝试使用不同的更新方法,但由于我的编码错误,它们无法正常工作。
test_values = ["♠", "♣", "♥", "♦"]
test_keys = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
# Printing original keys-value lists
print ("Original key list is : " + str(test_keys))
print ("Original value list is : " + str(test_values))
new_dict = {}
for key in test_keys:
for value in test_values:
res[key] = value
new_dict = {**new_dict, **res}
# Printing resultant dictionary
print ("Resultant dictionary is : " + str(res))
print(new_dict)
输出:
{'A': '♦', '2': '♦', '3': '♦', '4': '♦', '5': '♦', '6': '♦', '7': '♦', '8': '♦', '9': '♦', '10': '♦', 'J': '♦', 'Q': '♦', 'K': '♦'}
为什么只创建最后一套?
【问题讨论】:
-
您期待的结果是什么?字典键必须是唯一的……这本字典到底应该用来做什么?请注意,您的示例并不完整,因为
res没有在任何地方定义 -
是的,我忘记了上面的
res = {}声明。我的错。该词典用于我正在制作的二十一点游戏。
标签: python dictionary recursion set