一尘不染

为什么是 string.join(list) 而不是 list.join(string)?

javascript

这一直让我感到困惑。看起来这样会更好:

my_list = ["Hello", "world"]
print(my_list.join("-"))
# Produce: "Hello-world"

比这个:

my_list = ["Hello", "world"]
print("-".join(my_list))
# Produce: "Hello-world"

有这样的具体原因吗?


阅读 156

收藏
2022-02-13

共1个答案

一尘不染

这是因为可以连接任何可迭代对象(例如,list、tuple、dict、set),但其内容和“joiner”必须是字符串。

例如:

'_'.join(['welcome', 'to', 'stack', 'overflow'])
'_'.join(('welcome', 'to', 'stack', 'overflow'))
'welcome_to_stack_overflow'

使用字符串以外的东西会引发以下错误:

TypeError: sequence item 0: expected str instance, int found
2022-02-13