例如:
dictionary = {'a':[3,0], 'b':[5,0]}
如果我正在编写一个 if 语句来检查列表值对的最后一个元素是否为零,我应该如何访问它?
例如:
dictionary = {'a':[3,0], 'b':[5,0]}
如果我正在编写一个 if 语句来检查列表值对的最后一个元素是否为零,我应该如何访问它?
您可以使用 访问列表中的最后一个元素list_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
列表理解
[value[-1] == 0 for _,value in dictionary.items()]
返回 dict 值中最后一项的列表True和False值。对于您的测试字典,它返回
[True, True]
接下来,您可以使用all列表来测试它们是否确实都是True:
all([value[-1] == 0 for _,value in dictionary.items()])
它返回一个布尔值True或False。(当然它会在这里返回True。)
items您可以通过使用返回键/值对并根据需要处理它们的操作来迭代字典。下面列出了一个示例。
for k, v in d.items():
if v[-1] == 0:
print('{} -> {}'.format(k, v))
a -> [3, 0]
b -> [5, 0]