Python中.join()前与split()参数中空字符串的含义是什么
Python字符串方法参数说明
涉及的代码片段如下:
return " ".join(str.split(" ")[::-1])
首先澄清:代码里两个位置的" "都不是空字符串(空字符串是长度为0的""),而是单个半角空格字符,二者作用完全不同:
split(" ")里的" "
这是split()方法的分隔符参数,指定切割规则:严格按照单个半角空格拆分原字符串,返回子串组成的列表。
比如原字符串为"a b c"时,split(" ")的输出是["a", "b", "c"]。
注意和无参split()的区别:- 传
" "时严格按单空格切割,连续空格、首尾空格都会切出空字符串元素 - 无参
split()会按任意长度的空白(多空格、制表符、换行等)切割,自动忽略首尾空白,连续空白不会产生空元素
如果给split()传入真正的空字符串"",代码会直接抛出ValueError,Python不允许空值作为分隔符。
- 传
" ".join()里的前缀" "
这是join()方法的连接符,作用是把传入的可迭代对象(这里是split后经[::-1]切片反转的单词列表)里的所有字符串元素,两两之间插入该空格,拼接成完整的新字符串。
以上文的"a b c"为例,split后反转得到["c", "b", "a"],经" ".join()拼接后得到"c b a",整行代码的作用就是将原字符串按空格拆分的单词倒序后重新拼接成句子。
内容的提问来源于stack exchange,提问作者Chandler Parks
相关产品推荐
相关产品推荐

