比较2个用户列表python

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

我需要比较2个列表[new_user]和[current_user],并验证新用户是否已在当前用户中(不区分大小写)

current_users = ['john', 'anne', 'matthew', 'yennefer', 'tony']
new_users = ['paul', 'frank', 'carl', 'nana', 'JOHN']
current_users.extend(new_users[0:2])
lower_user = []

for new_user in new_users:
    lower_user.append(new_user.lower())
    if lower_user in current_users:
        print("Name unavaible, " + str(new_user))
    else:
        print("Name available, " + str(new_user))

Actually, that's the output:
Name available, paul
Name available, frank
Name available, carl
Name available, nana
Name available, JOHN

JOHN可用,因此不起作用。我该怎么办?

python-3.x
1个回答
0
投票

在您的代码中,您的if语句基本上是说list lower_user是否在列表current_users中,然后执行某些操作。相反,您想查看先前在lower_user中附加的结果是否在current_users中。通过将索引[-1]添加到lower_user列表来执行此操作。

current_users = ['john', 'anne', 'matthew', 'yennefer', 'tony']
new_users = ['paul', 'frank', 'carl', 'nana', 'JOHN']
current_users.extend(new_users[0:2])
lower_user = []

for new_user in new_users:
    lower_user.append(new_user.lower())
    if lower_user[-1] in current_users:
        print("Name unavailable, " + str(new_user))
    else:
        print("Name available, " + str(new_user))

这提供了输出:

Name unavailable, paul
Name unavailable, frank
Name available, carl
Name available, nana
Name unavailable, JOHN

如果这是预期的输出,那就好。如果没有,请提供预期的输出。

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