我正在读一本书,下面是一个小代码:
>>>S='shrubbery'
>>>L=list(S)
>>>L
>>>['s', 'h', 'r', 'u', 'b', 'b', 'e', 'r', 'y']
>>>L[1]='c'
>>>''.join(L)
'scrubbery'
有人可以解释一下最后一个命令的语法''。join(L) 我明白它在做什么..但它有点奇怪......在这个命令中哪一个是对象或类?是''字符串对象和join()方法....
感谢
答案 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'])
。