解释空分隔符的语法

时间:2014-05-05 19:59:25

标签: python delimiter

我正在读一本书,下面是一个小代码:

>>>S='shrubbery'
>>>L=list(S)
>>>L
>>>['s', 'h', 'r', 'u', 'b', 'b', 'e', 'r', 'y']
>>>L[1]='c'
>>>''.join(L)
'scrubbery'

有人可以解释一下最后一个命令的语法''。join(L) 我明白它在做什么..但它有点奇怪......在这个命令中哪一个是对象或类?是''字符串对象和join()方法....

感谢

2 个答案:

答案 0 :(得分:4)

请参阅the docs

str.join(iterable)
  

返回一个字符串,该字符串是可迭代iterable中字符串的串联。元素之间的分隔符是提供此方法的字符串(str)。

所以''.join(L)加入L的元素,用空字符串将它们彼此分开。

你可能想知道为什么这个方法看起来如此倒退(例如,为什么不是L.join('')?原因很简单:结果总是一个字符串,而分隔符总是一个字符串。而且因为这个方法应该在可以提供其成员的字符串表示的任何 iterable上工作,在字符串分隔符上定义它一次是有意义的,而不是为每个可能的iterable定义多次。

答案 1 :(得分:2)

字符串join的{​​{1}}方法会导致传递给它的字符串列表使用str字符串连接成一个字符串,即str将返回','.join(['1', '2', '3'])

'1,2,3'是一个空字符串,因此字符串列表将使用空分隔符连接,即''返回''.join(['1', '2', '3'])