有时我会写这样的代码:
a,temp,b = s.partition('-')
我只需要选择第一个和第三个元素。 temp 永远不会被使用。有更好的方法吗?
换句话说,是否有更好的方法来挑选不同的元素来制作新列表?
例如,我想使用旧列表中的元素 0,1,3,7 创建一个新列表。这 代码将是这样的:
newlist = [oldlist[0],oldlist[1],oldlist[3],oldlist[7]]
这很丑,不是吗?
请您参考如下方法:
小心使用
a, _, b = s.partition('-')
有时 _ 用于国际化 (gettext),因此您不希望不小心覆盖它。
通常我会为 partition 这样做,而不是创建一个我不需要的变量
a, b = s.partition('-')[::2]
这在一般情况下
from operator import itemgetter
ig0137 = itemgetter(0, 1, 3, 7)
newlist = ig0137(oldlist)
如果在循环中使用它,itemgetter 比列表理解更有效
