【发布时间】:2019-04-19 17:39:02
【问题描述】:
编辑:将字典更改为集合,因为我没有意识到 {} 表示集合。并固定说集合包含在元组中。
我想遍历 cardTuple 中的每个集合,对于 每个值,替换它与来自 imageDict 的相应值(面) .我假设我们将值与索引匹配,并以某种方式输出面部。也许我需要第三组或列表在输出之前存储结果?
imageDict = dict() # Contains index:face and looks like 1 ???? 2 ???? 3 ???? 4 ???? 5 ???? 6 ???? 7 ???? 8 ???? 9 ???? 10 ???? 11 ???? 12 ???? 13 ???? 14 ????
cardTuple = ({7, 42, 15, 47, 20, 52, 25, 30}, {3, 39, 14, 47, 55, 22, 23, 31})
我目前的做法:
newList = []
newList2 = []
for i in cardTuple:
for j in i:
if i == 1: ## maybe this needs to be 0?
newList.append(imageDict[j])
elif i == 2: ## maybe 1?
newList2.append(imageDict[j])
有什么建议吗?
【问题讨论】:
-
您知道
dict1不是字典吗?预期的输出是什么? -
我的建议是查看How to Ask 并了解如何提供您上次尝试的minimal reproducible example。
-
对不起。我的错。我将其修复为参考集。我还将尝试关注 IdleHands 并稍后添加更多细节,从我的代码中提供更多的 sn-ps。谢谢!
-
如果你使用集合,结果的顺序可能会改变,因为集合是无序的。我相信这很好。
-
@Karim:需要明确的是,花括号 (
{}) 的含义取决于它们的内容。如果它们是空的,或者它们存储用冒号分隔的键值对 (:),它们就是dict。如果它们不是空的,但其中没有冒号,则它们是set。
标签: python python-3.x dictionary replace output