现在我有了这段代码:
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,有人知道如何检查和写入密钥和值吗?
答案 0 :(得分:0)
这是因为值是数组而不是数字。使用数组时,您需要指定所需值的索引。在您的情况下,所有数组只有一个值,因此每次所需的索引为0
。
您可以执行此操作来检查数组中的 first 项,它还会打印密钥:
for i in keys:
if keys[i][0] > 5:
print(i, keys[i])
当然这取决于你真正想要打印的内容。如果要打印整个数组:
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]