添加字符串、第一个、第一个+第二个等

2024-10-03 00:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要编写一个程序,从列表中添加字符串并按顺序输出,但方式如下:

1 string
1 + 2 string
1 + 2 + 3 string ...
def spacey(array):
    pass
    e = ""
    i = ""
    m = []
    
    for e in list(array):
        i += e

    return (i)

这使我可以输出所有加在一起的字符串,如:

Thisismyquestionforyou

但我需要

This
Thisis
thisismy...

Tags: 字符串in程序列表forstringreturn顺序
3条回答

这应该起作用:

>>> def foo(list):
...     s=""
...     for i in list:
...             print(s+i)
...             s+=i
... 

问题是您正在设置整个字符串,然后输出它

应该是这样的

for e in list(array):
    i += e
    print(i)

这将以您想要的方式打印它,但显然您不能返回完整的字符串,然后输出它。只是提醒你,要给你的变量起个名字

for subString in list(array)
    fullString += subString
    print(fullString)

或者类似的东西,更加清晰,提供了需要调试的所有信息

您可以使用itertools.accumulate轻松完成此操作

>>> from itertools import accumulate
>>> s = "This is my question for you"
>>> list(accumulate(s.split()))
['This', 'Thisis', 'Thisismy', 'Thisismyquestion', 'Thisismyquestionfor', 'Thisismyquestionforyou']

相关问题 更多 >