我有一个空列表和一个字典
subject = []
dict = {'1' : 'Test', '2':'Assignments', '3':'Homeworks', etc.}
我有另一个用户生成的列表
start_prompt = ['1', '2', '5']
我想浏览列表start_prompt并将其用作将dict值附加到空列表主题的键。这是我尝试过的,但它不起作用
x = [subject.append(dict[i]) for i in start_prompt]
我错过了一些非常明显的东西,或者这不是正确的方法吗?
答案 0 :(得分:4)
我会执行以下操作,并检查您的字典中是否存在该密钥。
d = {'1' : 'Test', '2':'Assignments', '3':'Homeworks'}
start_prompt = ['1', '2', '5']
subject = [d[i] for i in start_prompt if i in d]
>>> subject
['Test', 'Assignments']
P.S。不要使用类型名称作为变量! (不要将字典命名为dict
)
答案 1 :(得分:0)
我更喜欢另一个答案,但是为了变化
d = {'1' : 'Test', '2':'Assignments', '3':'Homeworks'}
start_prompt = ['1', '2', '5']
from operator import itemgetter
itemgetter(*d.viewkeys() & start_prompt)(d)
('Test', 'Assignments')
list(itemgetter(*d.viewkeys() & start_prompt)(d))
['Test', 'Assignments']
不是我推荐它