Python 如果列表中存在值,则搜索时会出现奇怪的结果
这是我遇到问题的代码区域。T1和T3都是列表列表:Python 如果列表中存在值,则搜索时会出现奇怪的结果,python,Python,这是我遇到问题的代码区域。T1和T3都是列表列表: for num in T1: print num print T3[0] print type(num) print type(T3[0]) if num == T3[0]: print 'they are the same!' else: print 'nope they are not!' if T3.index(num): pr
for num in T1:
print num
print T3[0]
print type(num)
print type(T3[0])
if num == T3[0]:
print 'they are the same!'
else:
print 'nope they are not!'
if T3.index(num):
print 'number exists in list!'
结果如下:
[0, 0]
[0, 0]
<type 'list'>
<type 'list'>
they are the same!
[0,0]
[0, 0]
他们是一样的!
值和类型相同,但当我看不到“列表中存在编号”时当我在命令行上测试
list\u name.index(value)
时,它可以工作,但在这里不行。我做错了什么?方法list.index()
返回列表中其参数的索引,如果找不到参数,则引发ValueError
。支票
if T3.index(num):
基本上测试参数的索引是否为非零,但在您的示例中它恰好为零,因此检查失败。您可能想测试该项是否包含在列表中--使用
为此。方法
list.index()
返回列表中其参数的索引,如果未找到该参数,则引发ValueError
。支票
if T3.index(num):
基本上测试参数的索引是否为非零,但在您的示例中它恰好为零,因此检查失败。您可能想测试该项是否包含在列表中--使用
为此。问题在于这一行代码:
if T3.index(num):
print 'number exists in list!'
列表的index()
方法执行以下操作:“返回值为x的第一个项目列表中的索引。如果没有此类项目,则为错误。”
在列表中,要查找的第一个值(0)位于索引0处。if语句将零值视为False,并且正确地不执行任何操作。问题出在这行代码中:
if T3.index(num):
print 'number exists in list!'
列表的index()
方法执行以下操作:“返回值为x的第一个项目列表中的索引。如果没有此类项目,则为错误。”
在列表中,要查找的第一个值(0)位于索引0处。if语句将零值视为False,并且正确地不执行任何操作。谢谢,它工作得很好。我试图简化示例,但是T3.index(num)语句实际上被包装在一个try语句中。我知道Try不适合流量控制,你的方法实际上向我展示了一种我不需要使用的方法。谢谢你,你教了我两件事(一件的价格)。谢谢你,它工作得很好。我试图简化示例,但是T3.index(num)语句实际上被包装在一个try语句中。我知道Try不适合流量控制,你的方法实际上向我展示了一种我不需要使用的方法。谢谢你,你教会了我两件事(一件的代价)。