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

查看:136
本文介绍了为什么它是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 the result and the "joiner" must be strings.

例如:

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

'welcome_to_stack_overflow'

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

Using something else than strings will raise the following error:

TypeError:序列项0:预期的str实例,找到了int

TypeError: sequence item 0: expected str instance, int found

这篇关于为什么它是string.join(list)而不是list.join(string)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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