迭代第一个列表[]中的每个值到另一个列表[]上以形成字典{}

时间:2019-02-06 14:46:00

标签: python python-3.x

两个列表如下

服装 = [“心脏”,“钻石”,“俱乐部”,“黑桃”]

= ['A','2','3','4','5','6','7','8','9',' 10','J','Q','K']

我想创建一个如下的字典

卡片 = {“心”:“ A”,“心”:“ 2”,“心”:“ 3” ......}

西装中的每个项目都应与列表中的所有项目进行迭代。我尝试使用{} .Fromkeys(),但未成功。

请帮助。谢谢

2 个答案:

答案 0 :(得分:0)

您正在尝试创建一个字典,该字典具有多次出现的相同键,这是不允许的。

相反,您可能会遇到以下情况:

纸牌= {“心”:['A','2',...,'K'],“钻石”:['A','2',...,'K'], ......}

此代码为:

suits = ["Hearts", "Diamonds", "Clubs", "Spades"] 
values = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
cards = {}

for suit in suits:
    cards[suit] = values

答案 1 :(得分:0)

按照您的意愿进行操作将生成一本字典,其中一个键具有多个值。

如果您想要一个包含列表所有可能组合的表,可以在其中筛选“ Suits”或“ values”,则可以将其写入pandas.DataFrame:

Suits = ["Hearts", "Diamonds", "Clubs", "Spades"]
values = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
both = [(onesuit,onevalue) for onesuit in Suits for onevalue in values]

import pandas as pd
pd.DataFrame(both, columns=['Suits', 'values'])