检查词典中的值是否更高

时间:2017-09-07 13:21:11

标签: python dictionary

现在我有了这段代码:

keys = {
    'key1':[5],
    'key2':[2],
    'key3':[3],
    'key4':[2],
    'key5':[1],
    'key6':[2],
    'key7':[9],
    'key8':[10],
    'key9':[8],
}


for i in keys:
     print(keys[i])

上一次打印列表中的所有值 我想要做的只是打印键和值,如果值大于5

我不能做到

if keys[i] > 5:

不起作用

如果值高于5,有人知道如何检查和写入密钥和值吗?

2 个答案:

答案 0 :(得分:0)

这是因为值是数组而不是数字。使用数组时,您需要指定所需值的索引。在您的情况下,所有数组只有一个值,因此每次所需的索引为0

您可以执行此操作来检查数组中的 first 项,它还会打印密钥:

for i in keys:
    if keys[i][0] > 5:
        print(i, keys[i])

Here is a working example

当然这取决于你真正想要打印的内容。如果要打印整个数组:

print(i, keys[i])

如果您只想打印数组中的第一个值:

print(i, keys[i][0])

就个人而言,你应该回顾一下你真正想要使用的内容,如果你的值只是单个整数,那么你根本就不应该使用数组,而应该以不同的方式定义集合:

keys = {
    'key1':5
}

答案 1 :(得分:0)

keys [i]返回一个数字列表,而不是一个数字。将声明更改为int:

keys = {
    'key1':5...

或更改比较它的行以选择“键”列表中的第一个条目:

if keys[i][0] > 5:

如果要打印键名,如果返回true则为值,则使用:

if keys[i][0] > 5:
    print i, keys[i][0]