我有一个简单的代码,它生成一个列表列表,并用字符串" null"填充它,但是当我尝试检查" null"并不存在于整个列表列表中,它没有给我我预期的结果
lst = [ ['null']*4 for n in xrange(2) ]
print lst
if ('null' not in lst):
print "testing"
此代码始终打印"测试"而且我不知道为什么。 您的解释表示赞赏 感谢
答案 0 :(得分:7)
您的列表lst
不是字符串列表,而是字符串列表列表。
你可以试试:
if any('null' in lst2 for lst2 in lst):
作为您的测试:也就是说,如果主列表True
的任何子列表中都有字符'null'
,则返回lst
。
答案 1 :(得分:0)
展平列表,然后在展平列表中执行“不在”检查:
flattened = [x for x in sublist for sublist in lst]
if "null" not in flattened:
print("testing")