Python:检查列表列表中是否存在字符串

时间:2018-03-23 19:12:12

标签: python python-2.7 conditional

我有一个简单的代码,它生成一个列表列表,并用字符串" null"填充它,但是当我尝试检查" null"并不存在于整个列表列表中,它没有给我我预期的结果

lst = [ ['null']*4 for n in xrange(2) ]
print lst
if ('null' not in lst):
    print "testing"

此代码始终打印"测试"而且我不知道为什么。 您的解释表示赞赏 感谢

2 个答案:

答案 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")