将列表元素追加到另一个列表(Python)

时间:2020-07-09 02:19:50

标签: python list loops conditional-statements

我编写了一些代码,其中列出了新用户和当前用户,并检查用户名是否可用。如果不可用,则输出一条消息,表明是,否则输出一条消息,表明它是可用的。此后,我试图将new_users列表的元素附加到current_users上,条件是该列表中不存在该元素。然后,我想打印current_users列表以指示已发生更改。

到目前为止,这是我的代码-它仅输出current_users列表,而仍然没有更改,这是我的问题所在。

current_users = ['alice', 'bob', 'mary', 'OSCAR', 'Simon']
new_users = ['jack', 'daniel', 'sue', 'mary', 'chris']

current_users_lower = [user.lower() for user in current_users]

for new_user in new_users:
    if new_user in current_users:
        print(f"{new_user} unavailable\n")
    else:
        print(f'{new_user} available')

if new_user not in current_users_lower:
    current_users_lower.append(new_user)
print(current_users_lower)

谢谢您的任何帮助。我知道问题的格式在这里真的很重要,因此我已尽力尽可能清楚地询问它。

谢谢!

5 个答案:

答案 0 :(得分:1)

您只是缺少一个缩进。

current_users = ['alice', 'bob', 'mary', 'OSCAR', 'Simon']
new_users = ['jack', 'daniel', 'sue', 'mary', 'chris']

current_users_lower = [user.lower() for user in current_users]

for new_user in new_users:
    if new_user in current_users:
        print(f"{new_user} unavailable")
    else:
        print(f'{new_user} available')
    if new_user not in current_users_lower:
        current_users_lower.append(new_user)
print(current_users_lower)

答案 1 :(得分:1)

IIUC,我的建议是将附加项添加为for循环的一部分,同时还要使用current_users_lower而不是current_users。总而言之,最终会像这样:

current_users = ['alice', 'bob', 'mary', 'OSCAR', 'Simon']
new_users = ['jack', 'daniel', 'sue', 'mary', 'chris']

current_users_lower = [user.lower() for user in current_users]

for new_user in new_users:
    if new_user in current_users_lower:
        print(f"{new_user} unavailable\n")
    else:
        print(f'{new_user} available')
        print("Appending new user to list")
        current_users_lower.append(new_user)

print(current_users_lower)

答案 2 :(得分:0)

您的问题似乎是您只将new_users列表的最后一项追加到current_users_lower。尝试添加将列表追加到for循环的if语句。

class Child extends React.PureComponent {

    render() {
        return (
            <div></div>
        );
    }
}

答案 3 :(得分:0)

这是因为该语句不在for语句中。

 current_users = ['alice', 'bob', 'mary', 'OSCAR', 'Simon']
new_users = ['jack', 'daniel', 'sue', 'mary', 'chris']

current_users_lower = [user.lower() for user in current_users]

for new_user in new_users:
    if new_user in current_users:
        print(f"{new_user} unavailable\n")
    else:
        print(f'{new_user} available')
        current_users_lower.append(new_user)
print(current_users_lower)

答案 4 :(得分:0)

使用设置操作。它使代码变得简单。

current_users = ['alice', 'bob', 'mary', 'OSCAR', 'Simon']
new_users = ['jack', 'daniel', 'sue', 'mary', 'chris']

current_users_lower = set([user.lower() for user in current_users])
new_users = set([user.lower() for user in new_users])

print(f'{new_users.intersection(current_users_lower)} are unavailable')
really_new = new_users.difference(current_users_lower)
print(f'{really_new} are available')

print(current_users_lower.union(new_users))