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

2024-04-28 11:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

两个列表如下

套装=[“红心”,“钻石”,“梅花”,“黑桃”]

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

我想创建一个字典如下

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

中的每一项都应与值列表中的所有项迭代。我尝试了{}.Fromkeys(),但没有成功

请帮忙。谢谢


Tags: 列表字典钻石套装黑桃fromkeys红心
2条回答

完成你的愿望会产生一个字典,其中一个键有多个值

如果您想要一个包含列表所有可能组合的表,您可以在其中筛选“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'])

您正试图创建一个字典,同一个键出现多次,这是不允许的

相反,你可以有这样的东西:

卡片={“红心”:['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

相关问题 更多 >