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

优质
小牛编辑
132浏览
2023-12-01
rankvoteurl
3751193416url

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

我一直被这个问题困扰.如果这样写更好:

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

而不是:

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

有什么特殊的原因让它不这样做吗?


是因为所有的可迭代对象都能被join,不仅仅是列表,但结果是我们一般要join的都是字符串.

例如:

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