【发布时间】:2019-01-04 06:21:02
【问题描述】:
我想知道其中哪个更 Pythonic/更高效。
一)
HostName = [item.lstrip().strip('.').encode('ascii') for item in HostName]
B)
for i in range(len(HostName)):
HostName[i] = HostName[i].lstrip()
HostName[i] = HostName[i].strip('.')
HostName[i] = HostName[i].encode('ascii')
【问题讨论】:
-
A 更 Pythonic。至于效率,我怀疑差异是否很大。
-
HostName[i] = HostName[i].lstrip().strip('.').encode('ascii')会是一个更公平的比较 - 当您不关心中间结果时,当然没有理由做三个单独的作业。 -
选项 A 更好,更 Pythonic。第一个是使用 python 列表推导。列表推导式并不是处理列表的唯一方法。各种内置函数和 lambda 函数可以用更少的代码行高效地创建和修改列表。以及更pythonic的方式