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循环解决了我的问题。