【发布时间】:2021-03-03 16:10:12
【问题描述】:
我有一个具有如下凭据的字典:
secret = {"password": "jdksal",
"user": "fjdklas",
"schema": "jfdaskl"}
我想为密码、用户和架构创建一个变量。但是,secret dict 可以为每个键设置其他值,这样我就有了命名元素的可能方法列表,如下所示:
pass_words = ['password', 'pass', 'contraseña']
因此,当字典中存在列表pass_words 的任何键时,将创建变量密码。字典中只有一个来自 pass_words 的单词。与用户、架构等相同。到目前为止,我有这个代码:
for word in pass_words:
if word in secret:
password = secret[word]
user_words = ['user', 'username', 'login', 'name']
for word in user_words:
if word in secret:
user = secret[word]
它有效,但它非常冗长。有没有更简洁的方法来做到这一点?谢谢
【问题讨论】:
-
pass_words中只有一个字在secret中,还是可能不止一个? -
。就一个字。
-
如果你必须多次这样做,我建议创建一个类来实现这个功能或一个快速查找的函数。我以前通过实现一个函数来做到这一点,它对我来说效果很好。我强烈建议的唯一一件事是将您的“可能的单词”存储在一个集合而不是一个列表中,因为查找时间将是 O(1)。
标签: python python-3.x list dictionary