列表和查找python有问题

r1zk6ea1  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(321)

我用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

上述异常是以下异常的直接原因:
有人能帮我修一下吗?

p8ekf7hl

p8ekf7hl1#

您有一个包含值的列表;如果你知道你只能得到一个值
(可选)确保您只有一个

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'

相关问题