【发布时间】:2015-02-05 08:52:41
【问题描述】:
我有一个特殊的问题,我必须做一个最简单但仍然反映问题的问题,并且需要知道有没有捷径可以做到。
class Foo(object):
def __init__(self, c):
self.bar=c
objects = [Foo(x) for x in 'ab..$...$x.z']
现在我们有了对象列表,这就是问题所在;我必须从给定索引的左侧和右侧将具有'$' bar 属性的'.' 两个之间的所有对象的列表缩短。
索引是通过某种计算返回的,不一定会使用bar='.' 命中对象,因此在这种情况下会返回[]。
所以[x.bar for x in objects] 应该是['.','.','.']。我试图用最简单的方式来表达问题,不便之处敬请见谅......
关键是,代码应该很短。谢谢。
【问题讨论】:
-
字符串中可以有多少个“$”字符?
-
两个或更多,但没关系,因为索引不应该命中点!