作为一种练习,描述一下这种关系
在string.join(string.split(歌))和歌之间。
(它们都是指字符串)
对所有字符串都是相同的吗?他们什么时候会不同?
我有点羞于问这样一个问题,因为这个问题很简单,但是,
我不明白,什么是例外?他们什么时候不同?
发布于 2010-11-04 10:22:00
默认情况下,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'发布于 2010-11-04 10:22:15
实际上,split在分隔符的一个或多个点上分裂。因此," a b c ".split()和“and”.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'顺便说一下,不推荐使用string.split和string.join。只需将它们称为您正在处理的字符串的方法(如我的示例中所示)。
https://stackoverflow.com/questions/4095634
复制相似问题