我在 mac 终端中遇到 python 语法错误是什么? (哈希密码)

问题描述 投票:0回答:1

这是我的代码的屏幕截图。我正在尝试编写使用文件“HashedPWs”来查找“gang”文件中用户密码的程序。我关注的是从 PwnedPWs100K 中选择随机密码并将两个随机数字连接起来的帮派成员。对于使用 HashedPW 恢复其密码的帮派成员,我使用 Login.pyc 来检查该帮派成员是否使用相同的密码。

我收到语法错误

hash_pws = dict[i.split(',') for i in hash_pws if i.split(',')[0] in gang]

错误信息专门指向第一个“for”。

如果您发现任何问题,请告诉我!

python hash syntax password-encryption
1个回答
0
投票

您遇到的语法错误是由于 Python 中列表理解语法的错误使用造成的。在您提到的行中:

hash_pws = dict[i.split(',') for i in hash_pws if i.split(',')[0] in gang]

列表理解的正确语法是在 if 条件之前添加 for 循环部分。就您而言,它们的顺序错误。要修复语法错误,您需要重新排列 for 循环和 if 条件,如下所示:

hash_pws = {i.split(',')[0]: i.split(',')[1] for i in hash_pws if i.split(',')[0] in gang}

我假设 hash_pws 是一个字符串列表,其中每个字符串包含一个以逗号分隔的键值对。通过使用字典理解,我们可以创建一个字典 hash_pws,其中键是每个字符串的第一个元素(用逗号分割后),值是第二个元素。

© www.soinside.com 2019 - 2024. All rights reserved.