更多 pythonic 版本的列表迭代函数
more pythonic version of list iteration function
是否有更 Pythonic 的方式来定义这个函数?
def idsToElements(ids):
elements = []
for i in ids:
elements.append(doc.GetElement(i))
return elements
也许可以通过列表理解来实现。我基本上是想获取一个 id 列表,并将它们更改为一个元素列表,而不是定义一个函数。
如果列表理解就是你想要的
def idsToElements(ids):
return [doc.GetElement(i) for i in ids ]
map()
是一个 Python 内置功能,它完全满足您的需求。
def idsToElements(ids):
return map(doc.GetElement, ids)
讨论 map()
与列表推导的使用 here。
这里引用了最受欢迎(也是被接受的答案)的结论:
map may be microscopically faster in some cases (when you're NOT making a lambda for the purpose, but using the same function in map and a listcomp). List comprehensions may be faster in other cases and most (not all) pythonistas consider them more direct and clearer.
是否有更 Pythonic 的方式来定义这个函数?
def idsToElements(ids):
elements = []
for i in ids:
elements.append(doc.GetElement(i))
return elements
也许可以通过列表理解来实现。我基本上是想获取一个 id 列表,并将它们更改为一个元素列表,而不是定义一个函数。
如果列表理解就是你想要的
def idsToElements(ids):
return [doc.GetElement(i) for i in ids ]
map()
是一个 Python 内置功能,它完全满足您的需求。
def idsToElements(ids):
return map(doc.GetElement, ids)
讨论 map()
与列表推导的使用 here。
这里引用了最受欢迎(也是被接受的答案)的结论:
map may be microscopically faster in some cases (when you're NOT making a lambda for the purpose, but using the same function in map and a listcomp). List comprehensions may be faster in other cases and most (not all) pythonistas consider them more direct and clearer.