当有多个列表传入函数时,第一个打印系统工作。但是,当传入只有一个列表时,出现错误“AttributeError:'int'object has no attribute'pop'”为什么我的代码不适用于单个列表,但适用于嵌套列表?
此代码尝试从列表中删除一个项目以查看是否仍然弹出该项目存在于剩余的列表中。
def check_row(p):
for e in p:
while e:
x = e.pop()
if x in e:
return False
return True
print check_row([[8,2,3,4,5],
[2,3,1,5,6],
[4,0,2,3,1]])
print check_row([1,2,3,4,5])
非常感谢。
我很困惑...您的示例代码将适用于平面列表的情况下,但不是嵌套列表的情况下,因为'列表'不是哈希... – mgilson
@mgilson:darn,那是真的;这将仅适用于列表中的可哈希值。 –
@mgilson:但是,我怀疑OP并不意味着在嵌套列表上使用它,只发现代码不起作用*除非他使用嵌套列表。 –