python - java程序员学习python : string split and join

标签 python api

有人可以向我解释为什么在 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/

相关文章:

django - 为什么 Django Rest Framework - 序列化程序验证不起作用

python - 将字符串日期转换为时间戳并返回 python

python - python 中的基本正则表达式问题可帮助我学习它

Cygwin 中的 Python os.execlp() 返回不同的子 pid

facebook - 发布游戏成就 - 无效 token 错误 : 'An ID has already been specified'

php - Twitter 搜索 api 请求因国际字符而失败

python - Spotify Python API 调用超时问题

python - 如何改变x轴在对数刻度中从较大值开始到最小?

api - 如何保护私有(private)移动API的 'create new user'操作?

javascript - Angular $HTTP 发布 - 动态 URL 和定义发布