我有一个词典,该词典通过用户输入(第一次)进行更新。我想从字典中以用户在第二个输入中输入的字母(字母)开头打印所有键+值。我该怎么办?
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: ')
现在,我只在用户输入完整密钥时才获得密钥和值 但是我想从用户输入开始打印字典中的所有键
答案 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)
首先,让所有键都以输入开头:
keys = r.keys().filter(lambda x:x.startwith(input))
第二,打印键和值:
fot key in keys:
print (key,r[key])