我有这样的逻辑:
for need in we_need_this:
items_dict[need] = to_string_and_select(need)
如何进行列表理解? 我试过了:
[items_dict[need] = to_string_and_select(need) for need in we_need_this]
但它确实有效
答案 0 :(得分:3)
如果你从空items_dict
开始,简单的字典理解就足够了。
items_dict = {x: to_string_and_select(x) for x in we_need_this}
如果items_dict
不为空,则您需要使用update
方法更新它:
items_dict.update({x: to_string_and_select(x) for x in we_need_this})
在Python 2.6及更早版本中使用dict((x, to_string_and_select(x)) for x in we_need_this)
而不是dict理解。
使用列表理解
from operator import setitem
[setitem(items_dict, x, to_string_and_select(x)) for x in we_need_this]
或
[items_dict.__setitem__(x, to_string_and_select(x)) for x in we_need_this]
答案 1 :(得分:2)
由于items_dict
是字典,请使用items_dict.update
和dict comprehension:
items_dict.update({
need: to_string_and_select(need) for need in we_need_this
})