我想连续减去字符串s1 = 'asasas'
中的第一个元素,
直到最后一步,s1 = ''
才被收到。
我希望找到一种形式的代码:
s1 = s1 - s1[0]
有可能吗?
答案 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)