检查字典中的值是否更高

2024-03-29 10:46:58 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我有这个代码:

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

我不能这么做

^{pr2}$

那不管用

那么有人知道如果值大于5,我如何检查和写入键和值吗?在


Tags: 代码in列表forkeysprintkey2key1
2条回答

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

keys = {
    'key1':5...

或者更改与之比较的行,在“keys”列表中选择第一个条目:

^{pr2}$

如果要打印密钥名称及其值(如果返回true),则应使用:

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

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

您可以这样做来检查数组中的第一个项,它还将打印键:

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

Here is a working example


当然,这取决于你想打印什么。如果要打印整个数组:

^{pr2}$

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

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

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

keys = {
    'key1':5
}

相关问题 更多 >