-1

例如:

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

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

4

3 回答 3

2

您可以使用 访问列表中的最后一个元素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
于 2020-02-07T23:45:00.617 回答
0

列表理解

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

返回 dict 值中最后一项的列表TrueFalse值。对于您的测试字典,它返回

[True, True]

接下来,您可以使用all列表来测试它们是否确实都是True

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

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

于 2020-02-08T00:13:43.517 回答
0

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

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

a -> [3, 0]
b -> [5, 0]
于 2020-02-07T23:47:50.357 回答