當有多個列表傳入函數時,第一個打印系統工作。但是,當傳入只有一個列表時,出現錯誤「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並不意味着在嵌套列表上使用它,只發現代碼不起作用*除非他使用嵌套列表。 –