将多个输入迭代连接成一个字符串

问题描述:

道歉,如果这已被问到,但我发现类似的问题没有完全回答我的问题。将多个输入迭代连接成一个字符串

我知道如何采取一个单一的输入,并将其转换为字符串,或任何硬编码。我想要做的是接受多个输入并将它们转换为单个字符串。

实施例:

Enter a letter: h 
Enter a letter: e 
Enter a letter: l 
Enter a letter: l 
Enter a letter: o 

...等等,但是需要多长时间,直到用户输入 's' 指实例。

Enter a letter: s 

然后程序将所有先前的迭代打印为单个字符串。

Result: hello 

如何拼凑单独的,可能无限的输入字符串?

+1

你使用'str.join' – mgilson 2013-04-04 13:01:24

如何拼接单独的,可能无限的输入字符串?

可以使用

''.join(inputs) 

其中inputs是一个字符串的任何iterable做到这一点。

假设你的投入导致列表(或任何其他可迭代)字符(或字符串),因为你会从获得,例如:

mylist = [] 
while True: 
    c = raw_input("Enter a letter:") 
    if c == "s": 
     break 
    mylist.append(c) 

,那么你可以简单地join()他们:

result = "".join(mylist) 

''.join(iter(lambda: raw_input('Enter a letter: '), 's')) 

my_list = [] 

while len(my_list) == 0 or my_list[-1] != 's': 
    my_list.append(raw_input("Enter a letter: ")) 

print ''.join(my_list[:-1])