如何通过首字母查找密钥并打印密钥和值

时间:2019-10-04 17:43:27

标签: python-3.x dictionary

我有一个词典,该词典通过用户输入(第一次)进行更新。我想从字典中以用户在第二个输入中输入的字母(字母)开头打印所有键+值。我该怎么办?

r = {}
while (True):
    print('Enter key (empty enter - exit)')
    k = input()
    if k == '':
        break
    print('Enter value')
    v = input()
    r[k] = v
print(r)

s = input('Key: ')
while s != '':
    print(s, r.get(s.lower()))
    s = input('new try: ')

现在,我只在用户输入完整密钥时才获得密钥和值 但是我想从用户输入开始打印字典中的所有键

2 个答案:

答案 0 :(得分:0)

尝试使用列表理解和条件谓词startwith创建新列表 例如

r = { "abc" : "adfadsa", "abd" : "adfadfag", "cde" : "dafdfadsf"}
[(a,b) for a,b in r.items() if a.startswith("ab")]

将给出输出

[('abc', 'adfadsa'), ('abd', 'adfadfag')]

答案 1 :(得分:0)

  1. 首先,让所有键都以输入开头:

    keys = r.keys().filter(lambda x:x.startwith(input))

  2. 第二,打印键和值:

    fot key in keys: print (key,r[key])