python - 如何从列表中的多个字符串中打印1个字符串

时间:2012-09-12 16:35:37

标签: python string list

我在Join all exercise找到“Hands-on Python Tutorial of Andrew N. Harrington”的解决方案时遇到了一些麻烦。

基本上,练习是采用['very', 'hot', 'day']之类的列表,只包含字符串,并在其中创建一个字符串,在本例中为'veryhotday'

This is the exercise

'''exercise to complete and test this function'''
def joinStrings(stringList):
    '''Join all the strings in stringList into one string,
    and return the result, NOT printing it. For example:
    >>> s = joinStrings(['very', 'hot', 'day'])
    >>> print(s)  # I can print s OUTSIDE joinStrings
    'veryhotday'
    '''
    # finish the code for this function

def main():
    print(joinStrings(['very', 'hot', 'day']))
    print(joinStrings(['this', 'is', 'it']))
    print(joinStrings(['1', '2', '3', '4', '5']))

main()

因此只能更改第一个定义。我这样解决了:

def joinStrings(stringList):
    return ''.join(stringList)

我相信这是有效的,也是正确的。如果我在这里错了,请纠正我,但问题是它必须以不同的方式解决。我必须积累不同的字符串。正如他们在这里用整数所示:

def sumList(nums):
    ’’’Return the sum of the numbers in the list nums.’’’
    sum = 0
    for num in nums:
        sum = sum + num
    return sum

而且我真的无法理解,所以请帮助我!

2 个答案:

答案 0 :(得分:2)

''.join(stringList)是正确的方法。有什么问题?

如果必须以不同方式完成,您可以执行以下操作之一:

import operator
return reduce(operator.add, stringList)

甚至

s = ''
for string in stringList:
    s = s + string
return s

但这是不必要的复杂问题,因为像你建议的那样使用join是最简单和首选的方式。可能也是最快的。

答案 1 :(得分:2)

查看str.join()方法

''.join(['a','b','c']) # 'abc'
' '.join(['a','b','c']) # 'a b c'
print ' are '.join(['how', 'you']) # > how are you
s = ''.join(['%d'%i for i in range(10)]) # 01234567789

str.join()函数不打印任何内容,它只是从字符串列表中创建一个新字符串。