Python 2.7中的string.split和string.join

时间:2015-03-16 12:43:41

标签: python python-2.7

当我遇到以下问题时,我正在阅读“如何像计算机科学家一样思考:用Python学习”一书:

作为练习,描述string.join(string.split(song))和歌曲之间的关系。所有琴弦都一样吗?他们什么时候会有所不同? (歌被定义为“西班牙的雨......”)

然而,在检查之后,我发现两者都是不同的字符串。我尝试使用string.join(string.split(song)) is songf is song,其中f已被赋值为string.join(string.split(song)),并且都评估为False。为什么会这样?

1 个答案:

答案 0 :(得分:3)

您要比较的字符串的实际值是多少?

如果两者相同,这是因为身份运算符is和等号运算符==之间存在差异。

简而言之,当对象相同时,is会产生True。因为在您的示例中创建了一个新字符串,所以它会生成False

如果您使用==,则会对字符串进行深度比较,并且会返回True

如果比较的字符串不相同,则==is都不应生成True