string = ""
for e in list:
string += e
这个for循环如何表示为列表推导,以便输出一个字符串?
答案 0 :(得分:13)
您想要的首选成语是:
string = ''.join(l)
解释:join()
是一个字符串方法,它获取 iterable 并返回一个字符串,其中iterable中的所有元素由调用它的字符串分隔。因此,例如,', '.join(['a', 'b'])
只会返回字符串'a, b'
。由于列表是可迭代的,我们可以使用分隔符join
(空字符串)将它们传递给''
以连接列表中的所有项目。
注意:由于list
是Python中列表的内置类型名称,因此最好不要通过命名变量“list”来掩盖它。因此,我在示例l
中命名了列表。
答案 1 :(得分:3)
列表推导返回列表而不是字符串。使用join()
string = "".join(lst)
要更全面地了解联接方法,请参阅:http://docs.python.org/library/stdtypes.html#str.join
另外,请注意将变量命名为list
,因为它是一种可识别的类型,并会导致线路故障。
答案 2 :(得分:1)
不是列表理解,但仍然很短,希望有效。
string = ''
list = ['a',' f' , 'f' ,'daf','fd']
x =reduce(lambda x,y: x + y, list, string)
print x