我有一个列表mylist
和一个字典dict
,我想根据mylist
和dict
创建另一个字典。我怎么能用字典理解来做到这一点,因为我需要跟踪两个索引?一个用于字典的键,一个用于列表的范围?我尝试了以下方法:
new = {F(dict[k]):mylist[i] for k in dict, for i in range(len(mylist))}
但它不起作用。
答案 0 :(得分:2)
使用new = {F(dict[dict.keys()[i]]):ll[i] for i in range(len(ll))}
:
zip()
但是,你真的不应该使用new = {F(dict[key]): item for key, item in zip(dict, ll)}
作为变量名,因为它与内置类型冲突。出于同样的原因,dict
也不是一个好名字。此外,它告诉你里面是什么?您应该为列表和字典使用描述性名称。
答案 1 :(得分:0)
你可能会逃避:
app.post('/stuff/new', function (req,res){
Stuff.findById(req.body.booking_id, function(err, stuff){
if(err){ console.log("Err", err)}
else if (booking) {
Thungs.findById(req.body.user_id, function(err, thung){
user.stuff.push(req.body.things);
user.save();
});
Thingers.findById(req.body.center_id, function(err, thinger){
center.stuff.push(req.body.things);
center.save();
});
stuff.prop = 'thing';
stuff.save(function(err, result){
if (err) { console.err("err", err) }
else {
res.render('booking/thank_you', {
url: req.url,
id: "thank_you"
}, function(err, html){
if (err) { console.err("ERR", err) }
else {
res.send(html);
}
});
res.status(500).send();
}
});
}
})
});