想想在python中,第8章(列表)

时间:2010-11-04 10:16:14

标签: python list

作为练习,描述关系

string.join(string.split(song)) song 之间的

(它们都引用一个字符串)

所有字符串都一样吗?什么时候会有所不同?

对于一个可能简单的问题,我有点惭愧地问这个问题但是,

我不明白,是什么/是异常?它们何时不同?

2 个答案:

答案 0 :(得分:3)

默认情况下the split method将连续分隔符组合在一起,因此如果您在原始字符串中使用它们,它们将会丢失:

>>> import string
>>> song = "I     am      the      Walrus"
>>> string.join(string.split(song))
'I am the Walrus'

但是,如果指定要拆分的分隔符,则连续的分隔符不会分组,因此您可以保持字符串相同:

>>> string.join(string.split(song,' '))
'I   am    the    Walrus'

答案 1 :(得分:1)

split实际上会在分隔符的一次或多次出现时拆分。因此," a b c ".split()和“a b c”.split()都会产生相同的list,即['a','b','c']join仅在list的连续元素之间添加单个分隔符实例。 “”。join(['a','b','c'])gives us“a b c”`,匹配第二个字符串但不匹配第一个字符串。

>>> original="     a        b           c    "
>>> " ".join(original.split())
'a b c'

BTW,不推荐使用string.splitstring.join。只需将它们称为您正在处理的字符串的方法(如我的示例所示)。