首页 > 解决方案 > 列表有问题并找到 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

上述异常是以下异常的直接原因:

谁能帮我解决这个问题?

标签: pythonlist

解决方案


你有一个包含一个值的列表;如果你知道你只会得到一个值回来

  • 可选择确保您只有一个

    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'

推荐阅读