连接列表和拆分字符串

Joining Lists and Splitting Strings

我之前有一些 C++ 经验,并且刚刚开始使用 Python。我从 Dive into Python 阅读了这篇文章:

根据我的经验,一般的想法是,如果你想对对象 'O' 执行操作,你可以调用该对象的方法来完成它。

例如。如果我有一个列表对象,并且我想获得所有元素的总和,我会做类似的事情:

listObject.getSumOfAllElements()

但是,上面书中摘录中给出的调用对我来说有点奇怪。对我来说这更有意义:

return (["%s=%s" % (k, v) for k, v in params.items()]).join(";")

即将列表的所有元素作为一个字符串连接起来,这里使用这个参数';'作为分隔符。

这是设计差异还是语法上与我的想法略有不同?


编辑:

为了完成,这本书稍后会说:

Is this a design difference or just syntactically a little different than what I am thinking?

是的,我认为这是设计使然。 join 函数是有意通用的,因此它可以与任何可迭代对象(包括迭代器对象和生成器)一起使用。这避免了分别为 listtupleset 等实现 join