首页 > 解决方案 > 访问列表中的字典(Python)

问题描述

以下是我的代码:

user=[]
new_user={"User_Name" : input("Choose your Username: "),
              "Name" : input("Enter your Name: "),
              "Surname": input("Enter your Surname: "),
              "Password" : input("Choose your password: "),
              "Birthdate" : input("Enter your Birthdate: "),
              "Adress" : input("Enter your adress: "),
              "Activity" : input("What's your favorite Activity?: "),
              }
user.append(new_user)

我想检查输入的密码是否在列表中,所以我去了:

password = input("Password: ")
if password in user:
   print("logged in")
else:
   print("log-in failed")

即使我为 new_user 输入的密码和我为“if-condition”检查输入的密码相同,它也不起作用。(我总是得到“登录失败”。)

如果您需要更多信息来帮助我,请告诉我。

标签: pythonlistdictionary

解决方案


users=[]
new_user={"User_Name" : input("Choose your Username: "),
              "Name" : input("Enter your Name: "),
              "Surname": input("Enter your Surname: "),
              "Password" : input("Choose your password: "),
              "Birthdate" : input("Enter your Birthdate: "),
              "Adress" : input("Enter your adress: "),
              "Activity" : input("What's your favorite Activity?: "),
              }
users.append(new_user)

password = input("Password: ")
if password in [user["Password"] for user in users]:
   print("logged in")
else:
   print("log-in failed")

相关线路:if password in [user["Password"] for user in users]

我假设您不想进行简单的==比较,因为您这样做了if .. in ..


推荐阅读