首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中思考,第8章(列表)

在python中思考,第8章(列表)
EN

Stack Overflow用户
提问于 2010-11-04 10:16:13
回答 2查看 352关注 0票数 1

作为一种练习,描述一下这种关系

在string.join(string.split(歌))和歌之间。

(它们都是指字符串)

对所有字符串都是相同的吗?他们什么时候会不同?

我有点羞于问这样一个问题,因为这个问题很简单,但是,

我不明白,什么是例外?他们什么时候不同?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-04 10:22:00

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

代码语言:javascript
复制
>>> import string
>>> song = "I     am      the      Walrus"
>>> string.join(string.split(song))
'I am the Walrus'

但是,如果指定要拆分的分隔符,则不对连续的分隔符进行分组,以便使字符串保持不变:

代码语言:javascript
复制
>>> string.join(string.split(song,' '))
'I   am    the    Walrus'
票数 3
EN

Stack Overflow用户

发布于 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“,它匹配第二个字符串,但不匹配第一个字符串。

代码语言:javascript
复制
>>> original="     a        b           c    "
>>> " ".join(original.split())
'a b c'

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4095634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档