python检查索引是否存在于可能的词典列表中

python检查索引是否存在于可能的词典列表中,python,arrays,python-3.x,list,dictionary,Python,Arrays,Python 3.x,List,Dictionary,我有这个: list_name = [0, 1, 2, 3] list_name[0] = {} list_name[0]['test'] = 'any value' 我想知道列表的键是否存在。我通常使用: if 3 not in list_name: print("this doesn't exist") else: print("exists") 以数字3为例进行测试是可行的。它说“存在”。如果我检查999号是否有效,它会说“这不存在” 问题是它不适用于0。如您所见,列表

我有这个:

list_name = [0, 1, 2, 3]
list_name[0] = {}
list_name[0]['test'] = 'any value'
我想知道列表的键是否存在。我通常使用:

if 3 not in list_name:
    print("this doesn't exist")
else:
    print("exists")
以数字3为例进行测试是可行的。它说“存在”。如果我检查999号是否有效,它会说“这不存在”


问题是它不适用于0。如您所见,列表中的0值有一个字典。我需要检查列表中是否存在0(不管它是否有字典)。如何做到这一点?使用python3,谢谢。

如果列表中存在元素
0
,则列表的长度必须大于零。因此,您可以使用:

if len(list_name) > 0:
    print("0 exists")
else:
    print("0 does not exist")

作为旁注,
{}
是字典,而不是数组。

使用
尝试
,除非检查索引是否存在

try:
    if list_name[6]:
        print("exists")

except IndexError:
    print("this doesn't exist")
输出

这是不存在的


[]-这是一个列表,它没有键,只有索引和值{}-这是一个字典,它有键和值
3不在列表名称中
不检查索引3,它检查值
3
是否不在
列表名称中
。它相当于一个“contains”方法。您的列表如下所示:
[{'test':'anyvalue'},1,2,3]
,其中不包含0;虽然它在第0个索引中有一些内容。您可以使用
len(我的列表)
检查长度。谢谢@EugeneK,更正的数组=>dictionary@OscarAkaElvis我的全部观点是——也许你们误解了列表和字典的工作原理。因为您的列表没有0值。请阅读我第一篇评论中的一篇文章。