如何判断未定义的变量是否在Python列表中?

2024-09-30 22:15:12 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码给了我一个错误,如何检查变量是否在列表中?在

TomMarks = [66,54,34,79]
JackMarks = [66,54,34,79]
myList = [TomMarks, JackMarks]

if KateMarks in myList:
    print("yes")
else:
    print("no")

Tags: no代码in列表if错误elseyes
3条回答

您需要在使用变量之前定义它。你告诉编译器“KateMarks”,它不知道它是什么-你认为它会怎么做?在

这个:

TomMarks = [66,54,34,79]
JackMarks = [66,54,34,79]
myList = [TomMarks, JackMarks]

KateMarks = 1

if KateMarks in myList:
    print("yes")
else:
    print("no")

工作正常,打印“不”。在

您可能需要先检查变量是否存在:

^{pr2}$

如果Python首先不知道某个东西在列表中是什么,它就不能检查它是否在列表中。(通常,如果试图引用尚未定义的变量,则会出现错误。)

在您的示例中,即使您定义了myList = [TomMarks, JackMarks],但如果您打印列表,则会得到以下信息:

[[66, 54, 34, 79], [66, 54, 34, 79]]

如果您事先定义了KateMarks,那么是的,代码将完美运行。如果Python不知道变量是什么。在

如果您真的想打印no,即使KateMarks没有定义,您可以执行以下操作,但这不是一个好方法。在

TomMarks = [66,54,34,79]
JackMarks = [66,54,34,79]
myList = [TomMarks, JackMarks]

try:
    if KateMarks in myList:
        print 'yes'
    else:
        print 'no'
except(NameError):
    print 'no'

相关问题 更多 >