python 的lambda表达式对列表是怎么处理的啊

s=['0254555','sadfasf','12aasf']
b=lambda a:':'.join(a)
c=b(s)
print(c)

这个输出为什么是0254555:sadfasf:12aasf,而不是:0254555:sadfasf:12aasf。这个输出是怎么来的啊?实在是想不通,求各位大佬解答一下

和lambda没有关系,join函数就是这样的

不管lambda,你只用join
a=['1','2','3','4','5']
print('.'.join(a))
输出
1.2.3.4.5
这个能理解么

':'.join(a)表示以:作为分隔符,连接a列表内的元素,既然是元素间的分隔符,那只用出现在元素之间就行了。第一个元素前没有元素了自然就不会出现: