如何检查 Python 上是否存在字典中具有特定值的键?以数组为值的字典
How to check if a key with an specific value in a dictionary exist on Python? Dictionary with arrays as values
我有以下名为 the_dictionary_list
的字典:
the_dictionary_list= {'Color': ['Amarillo.png', 'Blanco.png',
'Rojirosado.png', 'Turquesa.png', 'Verde_oscuro.png', 'Zapote.png'],
'Cuerpo': ['Cuerpo_cangrejo.png'], 'Fondo': ['Oceano.png'], 'Ojos':
['Antenas.png', 'Pico.png', 'Verticales.png'], 'Pinzas':
['Pinzitas.png', 'Pinzotas.png', 'Pinzota_pinzita.png'], 'Puas':
['Arena.png', 'Marron.png', 'Purpura.png', 'Verde.png']}
我想检查它是否有一个特定的键和一个特定的值(在它的数组中),所以我输入了以下代码:
if ('Color', 'None') in the_dictionary_list.items():
print('This is True')
else:
print('This is False')
if ('Color', 'Amarillo.png') in the_dictionary_list.items():
print('This is True')
else:
print('This is False')
输出如下:
This is False
This is False
这是 50% 的错误,因为第二个 if statement
应该打印 This is True
,我试图在其他网站上寻找答案,但似乎里面有数组的字典很少见,但合法最后,我还能如何评估特定的键值对是否确实存在于上面的字典中?
我想通了,只需使用一个函数:
the_dictionary_list= {
'Color': ['Amarillo.png', 'Blanco.png', 'Rojirosado.png', 'Turquesa.png', 'Verde_oscuro.png', 'Zapote.png'],
'Cuerpo': ['Cuerpo_cangrejo.png'],
'Fondo': ['Oceano.png'],
'Ojos': ['Antenas.png', 'Pico.png', 'Verticales.png'],
'Pinzas': ['Pinzitas.png', 'Pinzotas.png', 'Pinzota_pinzita.png'],
'Puas': ['Arena.png', 'Marron.png', 'Purpura.png', 'Verde.png']}
def existe(llave, valor, dicc):
return llave in dicc and valor in dicc[llave]
print(existe('Color', 'None', the_dictionary_list))
print(existe('Color', 'Amarillo.png', the_dictionary_list))
输出:
False
True
我有以下名为 the_dictionary_list
的字典:
the_dictionary_list= {'Color': ['Amarillo.png', 'Blanco.png',
'Rojirosado.png', 'Turquesa.png', 'Verde_oscuro.png', 'Zapote.png'],
'Cuerpo': ['Cuerpo_cangrejo.png'], 'Fondo': ['Oceano.png'], 'Ojos':
['Antenas.png', 'Pico.png', 'Verticales.png'], 'Pinzas':
['Pinzitas.png', 'Pinzotas.png', 'Pinzota_pinzita.png'], 'Puas':
['Arena.png', 'Marron.png', 'Purpura.png', 'Verde.png']}
我想检查它是否有一个特定的键和一个特定的值(在它的数组中),所以我输入了以下代码:
if ('Color', 'None') in the_dictionary_list.items():
print('This is True')
else:
print('This is False')
if ('Color', 'Amarillo.png') in the_dictionary_list.items():
print('This is True')
else:
print('This is False')
输出如下:
This is False
This is False
这是 50% 的错误,因为第二个 if statement
应该打印 This is True
,我试图在其他网站上寻找答案,但似乎里面有数组的字典很少见,但合法最后,我还能如何评估特定的键值对是否确实存在于上面的字典中?
我想通了,只需使用一个函数:
the_dictionary_list= {
'Color': ['Amarillo.png', 'Blanco.png', 'Rojirosado.png', 'Turquesa.png', 'Verde_oscuro.png', 'Zapote.png'],
'Cuerpo': ['Cuerpo_cangrejo.png'],
'Fondo': ['Oceano.png'],
'Ojos': ['Antenas.png', 'Pico.png', 'Verticales.png'],
'Pinzas': ['Pinzitas.png', 'Pinzotas.png', 'Pinzota_pinzita.png'],
'Puas': ['Arena.png', 'Marron.png', 'Purpura.png', 'Verde.png']}
def existe(llave, valor, dicc):
return llave in dicc and valor in dicc[llave]
print(existe('Color', 'None', the_dictionary_list))
print(existe('Color', 'Amarillo.png', the_dictionary_list))
输出:
False
True