首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从列表中获取字符串并将其与另一个字符串进行比较?

如何从列表中获取字符串并将其与另一个字符串进行比较?
EN

Stack Overflow用户
提问于 2020-05-02 09:10:07
回答 1查看 30关注 0票数 1

所以基本上我是在给自己制造一些有趣的东西,我遇到了一个问题。我有一个不能放入用户名字符串的非法项目列表。基本上,如果有人输入了一个用户名,并且它在变量illegal_items中包含了一些内容,那么就不应该让他们输入这个用户名。问题是,我不能让它正常工作。这是我尝试过的方法。

代码语言:javascript
运行
复制
username = "roboticperson"
illegal_items = ['test', 'robotic', 'emphatic']

if any(illegal_items in s for s in username):
    print("Your username cannot contain any illegal items.")
else:
    print("Hello, "+username+"!")

它应该说:

代码语言:javascript
运行
复制
Your username cannot contain any illegal items.

它说的是:

代码语言:javascript
运行
复制
TypeError: 'in <string>' requires string as left operand, not list

如果这是另一个帖子的副本,我很抱歉。

编辑:我正在尝试这样做,这样变量illegal_items中的任何内容都会将用户名标记为无效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-02 09:20:15

username中的for s正在逐个字符遍历用户名。因此,您实际上正在做的是:

test在r中吗?

test在o中吗?

改为执行以下操作:

代码语言:javascript
运行
复制
username = "roboticperson"
illegal_items = ['test', 'robotic', 'emphatic']

if any( s in username for s in illegal_items):
    print("Your username cannot contain any illegal items.")
else:
    print("Hello, "+username+"!")

这将检查是否

测试是否在机器人人中? //false

机器人在机器人人中是机器人吗? //true

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61553213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档