Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在包含列表作为值的字典中访问列表值中的最后一个元素_Python_Python 3.x_List_Dictionary - Fatal编程技术网

Python 如何在包含列表作为值的字典中访问列表值中的最后一个元素

Python 如何在包含列表作为值的字典中访问列表值中的最后一个元素,python,python-3.x,list,dictionary,Python,Python 3.x,List,Dictionary,例如: dictionary = {'a':[3,0], 'b':[5,0]} 如果我正在编写If语句来检查列表值对的最后一个元素是否为零,我应该如何访问它 您可以使用list\u name[-1]访问列表中的最后一个元素 您的if语句应该如下所示: if dictionary[key_name][-1] == 0: # todo 输出: >>> dict = {'a':[3,0], 'b':[5,0]} >>> dict['a'][-1] 0

例如:

dictionary = {'a':[3,0], 'b':[5,0]}

如果我正在编写If语句来检查列表值对的最后一个元素是否为零,我应该如何访问它

您可以使用
list\u name[-1]
访问列表中的最后一个元素

您的if语句应该如下所示:

if dictionary[key_name][-1] == 0:
    # todo

输出:

>>> dict = {'a':[3,0], 'b':[5,0]}
>>> dict['a'][-1]
0
>>> print(dict['a'][-1] == 0)
True

您可以通过使用操作返回键/值对并根据需要处理它们来迭代字典。下面列出了一个例子

for k, v in d.items():
    if v[-1] == 0:
        print('{} -> {}'.format(k, v))

a -> [3, 0]
b -> [5, 0]
列表理解

[value[-1] == 0 for _,value in dictionary.items()]
返回dict值中最后每个项目的
True
False
值列表。对于您的测试字典,它返回

[True, True]
接下来,您可以在列表中使用来测试它们是否都是
True

all([value[-1] == 0 for _,value in dictionary.items()])

它返回一个布尔值
True
False
。(这里它会返回
True
当然。)

所有([d[key][1]==0表示输入d])
为您的测试用例打印
True
False
如果最后一项或两项都不是
0
@usr2564301谢谢,这似乎解决了问题!伟大的我已经把它作为一个完整的答案,所以你可以在一次测试中使用它。我感谢你的帮助,现在我觉得自己很愚蠢,因为我没有看到它的逻辑。我甚至没有想到这一点,谢谢!因为我的字典总是用新值更新,所以for循环解决了我的问题。