Python:创建密钥

时间:2018-01-06 20:23:57

标签: python arrays

首次使用Python编码。我习惯了PHP和javascript。

 for CDuser6Minutes in CDusers6Minutes[minutetocheckpre]:
            if CDuser6Minutes in CDusers:
                if AltsPre[CDuser6Minutes]:
                    AltsPre[CDuser6Minutes] = AltsPre[CDuser6Minutes]+1
                else:
                    AltsPre[CDuser6Minutes] = 1

CDuser6Minutes是字符串。在这种情况下:“Mingodalia”。我得到的错误是:

  File "...app.py", line 72, in <module>
    if AltsPre[CDuser6Minutes]:
KeyError: 'Mingodalia'

1 个答案:

答案 0 :(得分:1)

您可以通过将CDuser6Minutes in AltsPre添加到第二个if语句来修复代码。

现在它的作用是首先检查词典中是否存在该键,然后检查您的条件AltsPre[CDuser6Minutes],我假设您使用的是 truthy 条件。

所以现在一旦执行达到条件CDuser6Minutes in AltsPre,它将在那种情况下短路而不执行AltsPre[CDuser6Minutes],直接执行else语句。

因此您的修改后的代码将如下所示 -

for CDuser6Minutes in CDusers6Minutes[minutetocheckpre]:
        if CDuser6Minutes in CDusers:
            if CDuser6Minutes in AltsPre and AltsPre[CDuser6Minutes]:
                AltsPre[CDuser6Minutes] = AltsPre[CDuser6Minutes]+1
            else:
                AltsPre[CDuser6Minutes] = 1

您现在得到的错误是因为您的代码假定明信片中存在 AltsPre 键,因为AltsPre[CDuser6Minutes]是对词典的查找 AltsPre

请在评论中告诉我任何进一步的澄清。