python for循环表达式的迭代器

时间:2014-10-04 07:55:14

标签: python for-loop list-comprehension

我有一个for循环,我总是以相同的方式使用迭代器,就像这个

for dict in mylist:
    var = dict['prop']
    var2 = f( dict['prop'] )
    ...

这很笨拙。我能想到的唯一选择:

  • 本地变量
  • 将列表包装在列表解析中。但这似乎有点过分,可能效率低下

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

一个地图调用可以为您提供值元组列表:

listOfTuples = map(lambda x: (dict['prop'], f(dict['prop']), myList)

或者,如果您需要两个单独的值列表:

[varList, var2List] = zip(*zip(listOfTuples))