如何在Python中检查字典的值?

时间:2017-09-22 05:58:11

标签: python dictionary

d1 = {'name': 'Sagar','age': 25}    
d2 = {'name': 'Sassdr', 'age':122}    
d3 = {'name': 'Saga23weer', 'age':123344}    
d4 = {'name': '2133Sagar', 'age':14322}    
ch = input("Enter your value: ")

如何从这些词典中搜索输入的值? 如果找到值,则返回找到其他返回未找到。

5 个答案:

答案 0 :(得分:2)

为什么搜索值在不同的字典中而不是在一个字典中?

试试这个

将所有字典合并到一个

d5 = {**d1, **d2, **d3, **d4}

然后检查

if ch in d5 .values():
    print "Found"
else:
    print "Not Found"

答案 1 :(得分:1)

列出词典并在其中搜索:

d1 = {'name': 'Sagar','age': 25}    
d2 = {'name': 'Sassdr', 'age':122}    
d3 = {'name': 'Saga23weer', 'age':123344}    
d4 = {'name': '2133Sagar', 'age':14322}
d = [d1,d2,d3,d4]

def check(ch):
    for entry in d:
        if entry["name"] == ch:
            return("found")
    return ("Not found")

while True:
    ch = input("Enter your value: ")
    if ch == "stop":
        break
    print(check(ch))

输出:

>>> 
Enter your value: Sagar
found
Enter your value: Someone
Not found
Enter your value: 2133Sagar
found
Enter your value: stop

答案 2 :(得分:0)

您想要的效果称为密钥交换。这个片段是实现:

def keyswap(yourdict):
    cache = {}
    for i in yourdict.keys():
        cache[yourdict[i]] = i
    for i in cache.keys():
        yourdict[i] = cache[i]
    del cache

它按键到位。

答案 3 :(得分:0)

您可以使用以下代码

Python2

def IsFound():
    list_dict = [d1, d2, d3, d4]
    values_list = []
    for each in list_dict:
        values_list += each.values()

    ch = input('enter your value')
    if ch in values_list:
        return 'Found'
    else:
        return 'Not Found'

Python3

def IsFound():
    dict = {**d1, **d2, **d3, **d4}

    ch = input('enter your value')
    if ch in dict.values():
        return 'Found'
    else:
        return 'Not Found'

答案 4 :(得分:0)

你需要这样做:

  1. 获取dict的值;

  2. 搜索所有词组;

  3. 将结果标记为"找到"如果匹配。

  4. 步骤1的

    dict.values()
    
    步骤2的

    有很多方法可以将所有的词汇组合起来,就像每个人都给出的那样。

    您可以先选择所有值来设置新列表,然后搜索您的输入是否匹配如下:

    # combine all dicts
    d = d1.values() + d2.values() +d3.values() + d4.values()
    # judge if matches
    if ch in d:
        # do something
    

    希望这段代码可以解除您的困惑。