kon*_*rad 4 python list-comprehension list
是否有更多Pythonic方法来定义此功能?
def idsToElements(ids):
elements = []
for i in ids:
elements.append(doc.GetElement(i))
return elements
Run Code Online (Sandbox Code Playgroud)
也许它可能与列表理解.我基本上希望获取一个id列表,并将它们更改为比定义函数更简单的元素列表.
Bha*_*Rao 29
如果列表理解是你想要的全部
def idsToElements(ids):
return [doc.GetElement(i) for i in ids ]
Run Code Online (Sandbox Code Playgroud)
Inb*_*ose 15
map()
是一个内置的Python,它完全符合您的要求.
def idsToElements(ids):
return map(doc.GetElement, ids)
Run Code Online (Sandbox Code Playgroud)
使用的map()
VS使用列表内涵的讨论在这里.
这里引用了最受欢迎(和接受的答案)的结论:
在某些情况下,map可能在显微镜下更快(当你没有为此目的制作lambda,但在map和listcomp中使用相同的函数时).在其他情况下,列表推导可能更快,并且大多数(并非所有)pythonistas认为它们更直接和更清晰.