我有字典,它通过用户输入(第一次(更新。我想打印字典中的所有键+值,以用户在第二次输入中输入的字母(字母(开头。我该怎么做?
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: ')
现在我只在用户输入整个键时获得键和值 但是我想打印字典中从用户输入开始的所有键
尝试使用列表推导和条件谓词开头创建新列表 例如
r = { "abc" : "adfadsa", "abd" : "adfadfag", "cde" : "dafdfadsf"}
[(a,b) for a,b in r.items() if a.startswith("ab")]
将给出输出
[('abc', 'adfadsa'), ('abd', 'adfadfag')]
-
首先,获取所有以输入开头的键:
keys = r.keys().filter(lambda x:x.startwith(input))
-
二、打印键和值:
fot key in keys: print (key,r[key])