为什么是 string.join(list) 而不是 list.join(string)? [英] Why is it string.join(list) instead of list.join(string)?
本文介绍了为什么是 string.join(list) 而不是 list.join(string)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这一直让我很困惑.看起来这样会更好:
This has always confused me. It seems like this would be nicer:
my_list = ["Hello", "world"]
print(my_list.join("-"))
# Produce: "Hello-world"
比这个:
my_list = ["Hello", "world"]
print("-".join(my_list))
# Produce: "Hello-world"
有什么具体的原因吗?
推荐答案
这是因为任何可迭代对象都可以连接(例如,列表、元组、字典、集合),但它的内容和连接器"必须是字符串.
It's because any iterable can be joined (e.g, list, tuple, dict, set), but its contents and the "joiner" must be strings.
例如:
'_'.join(['welcome', 'to', 'stack', 'overflow'])
'_'.join(('welcome', 'to', 'stack', 'overflow'))
'welcome_to_stack_overflow'
使用字符串以外的其他内容会引发以下错误:
Using something other than strings will raise the following error:
TypeError: sequence item 0: expected str instance, int found
这篇关于为什么是 string.join(list) 而不是 list.join(string)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文