为什么是 string.join(list) 而不是 list.join(string)? [英] Why is it string.join(list) instead of list.join(string)?

查看:31
本文介绍了为什么是 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆