在python中减去string中的元素直到无

时间:2014-07-13 18:34:40

标签: python string python-3.x

我想连续减去字符串s1 = 'asasas'中的第一个元素, 直到最后一步,s1 = ''才被收到。

我希望找到一种形式的代码:

s1 = s1 - s1[0]

有可能吗?

2 个答案:

答案 0 :(得分:2)

您可以在循环中使用切片。

s1 = 'asasas'
for i in range(len(s1)):
    print s1[i:]

输出

asasas
sasas
asas
sas
as
s

答案 1 :(得分:0)

来自集合模块的deque可能很有用。

" Deques是堆栈和队列的概括(名称发音为“deck”,是“双端队列”的缩写)。 Deques支持线程安全,内存有效的追加和双端队列的弹出,在任一方向上具有大致相同的O(1)性能。"

您的代码将是:

a = 'adsfasdfasdfasdfasdf'
import collections
s = collections.deque(a)
while len(s):
    c = s.popleft()
    print (s)