有人可以向我解释为什么在 python 中,当我们想要连接我们编写的字符串时:
'delim'.join(list)
当我们想要拆分一个字符串时,我们写:
str.split('delim')
来自 java 似乎其中之一是倒退的,因为在 java 中我们写:
//split:
str.split('delim');
//join
list.join('delim');
编辑:
你是对的。加入需要一个列表。 (虽然它不会改变问题)
有人可以向我解释一下这个 API 背后的基本原理吗?
最佳答案
Join 仅在加入某种可迭代对象时才有意义。但是,由于可迭代对象不一定包含所有字符串,因此将 join
作为可迭代对象的方法没有意义。 (您希望 [1,"baz",my_custom_object,my_list].join("foo")
的结果是什么?)唯一可以放置它的地方是作为字符串方法理解可迭代对象中的所有内容都将是一个字符串。此外,将 join
作为字符串方法允许它与任何可迭代对象一起使用——元组、列表、生成器、支持迭代甚至字符串的自定义对象。
另请注意,您可以完全自由地以与加入字符串相同的方式拆分字符串:
list_of_strings='this, is , a, string, separated, by , commas.'.split(',')
当然,这里的实用程序并不那么容易看到。
关于python - java程序员学习python : string split and join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11475054/