加入列表和拆分字符串 [重复]
Posted
技术标签:
【中文标题】加入列表和拆分字符串 [重复]【英文标题】:Joining Lists and Splitting Strings [duplicate] 【发布时间】:2016-02-26 21:34:11 【问题描述】:我以前有一些 C++ 经验,并且刚刚开始使用 Python。我从Dive into Python 阅读了这段文字:
根据我的经验,一般的想法是,如果您想对对象“O”执行操作,请调用该对象上的方法来执行此操作。
例如。如果我有一个列表对象,并且我想获得所有元素的总和,我会这样做:
listObject.getSumOfAllElements()
但是,上面摘录中给出的调用对我来说有点奇怪。对我来说这更有意义:
return (["%s=%s" % (k, v) for k, v in params.items()]).join(";")
即将列表的所有元素连接成一个字符串,这里使用';'
这个参数作为分隔符。
这是设计上的差异还是只是在语法上与我的想法有些不同?
编辑:
为了完成,本书稍后会说:
【问题讨论】:
是的,它有点像“;”是您在此处执行方法的对象。 你的意思是问为什么是string.join(list)
而不是list.join(string)
?
@BhargavRao 是的,没错!
啊谢谢@BhargavRao 您发布的页面上已经有详细的解释。我应该提出这个关闭还是直接删除它?
@AmitTomar 不。保持原状。其他人将从中受益。 thefourtheye 的回答很好。如果你也这么认为,请接受它。
【参考方案1】:
这是设计上的差异还是只是在语法上与我的想法有些不同?
是的,我认为这是设计使然。 join
函数是有意通用的,因此它可以与任何可迭代对象(包括迭代器对象和生成器)一起使用。这避免了分别为list
、tuple
、set
等实现join
。
【讨论】:
以上是关于加入列表和拆分字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
2021-10-15:单词拆分。给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你