python - 列表有问题并找到 Python
问题描述
我正在用 Python 编写一个 Discord 机器人脚本,并想制作一个向您发送代码并且您必须重新发送它的系统。我这样做是为了将用户名和代码存储在一个列表中。现在我想找到价值:
result = [x for x in PW if x.startswith(str(member))]
并打印出:['DivScripts#7769PASSWORD']。一切都很好,直到那里。当我现在想检查用户是否使用此代码在他的消息中编写了代码时:
if result in msg.content:
出现错误:
if result in msg.content:
TypeError: 'in <string>' requires string as left operand, not list
上述异常是以下异常的直接原因:
谁能帮我解决这个问题?
解决方案
你有一个包含一个值的列表;如果你知道你只会得到一个值回来
可选择确保您只有一个
if len(result) != 1: raise ValueError("expected exactly one value in result")
按索引从列表中获取该值
result[0]
说明区别
>>> result = ["foo"]
>>> result # a list containing a string
['foo']
>>> result[0] # just a string
'foo'
推荐阅读
- git - 远程:未找到存储库。在我自己的github上
- vue.js - 使用 v-slot 和 v-chip 不允许编辑芯片
- c++ - C++ std::maps 和带有构造函数的类值
- python - 如何让散景小部件与 plot .on_change() 交互
- laravel - 在 Laravel 中排除条件路由
- timestamp - 如何在 CockroachDB 中将 Unix 时间戳转换为日期?
- java - JPA/Hibernate:如何在同一会话中为具有 @Id 注释的字段保留重复值?
- c++ - 它说没有匹配的成员函数来调用“插入”。这是一个学校项目,我真的被卡住了
- azure-logic-apps - 通过自定义连接器使用大型 API。API 的定义超过了 1MB 的文件大小限制
- caching - PIPT L1 缓存的最小关联性也是 VIPT,访问集合而不将索引转换为物理