一尘不染

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

python

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

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

比这个:

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

是否有特定原因?


阅读 660

收藏
2020-02-23

共1个答案

一尘不染

这是因为任何iterable都可以连接,不仅是列表,而且结果和“ joiner”始终是字符串。

例如:

import urllib2
print('\n############\n'.join(
    urllib2.urlopen('http://data.stackexchange.com/users/7095')))
2020-02-23