【发布时间】:2018-04-23 06:05:14
【问题描述】:
我正在尝试写一个更pythonic或更简洁的方式,避免写太多的for循环。
基本上我有以下块代码:
result = {}
for model_name in list_of_model_names:
model_fields = _do_something(model_name)
result['{}_fields'.format(model_name)] = model_fields
return result
本质上,我正在遍历一个字符串列表。我将对每个字符串执行一些操作,以便该字符串的某些派生成为字典中的键值对。
我正在阅读http://www.u.arizona.edu/~erdmann/mse350/topics/list_comprehensions.html
我知道:
- 地图返回一个列表
- 过滤器减少了元素的数量
- Reduce 看起来会返回列表中的本机数据类型。可能是字符串或数字,具体取决于原始列表。
我的代码正在运行,我想知道是否有更简洁或更 Pythonic 的方式来循环遍历列表并使其循环变量影响字典的键和值。
【问题讨论】:
-
使用字典理解 -
{'{}_fields'.format(m) : _do_something(m) for m in list_of_model_names}?
标签: python list dictionary