【发布时间】:2012-11-09 21:16:36
【问题描述】:
我经常将我的 str.join() 参数包装在一个列表中,例如
'.'.join([str_one, str_two])
额外的列表包装对我来说总是多余的。我想做...
'.'.join(str_one, str_two, str_three, ...)
...或者如果我有一个列表...
'.'.join(*list_of_strings)
是的,我是一个极简主义者,是的,我很挑剔,但大多数时候我只是对这里的历史感到好奇,或者我是否遗漏了什么。也许有一段时间会发生口角?
编辑:
我只想指出 max() 处理这两个版本:
最大(可迭代[,键]) max(arg1, arg2, *args[, key])
【问题讨论】:
-
您想要额外的“splats”还是额外的列表?除了“splats”可能不会永远存在的事实。 ** 相当新。
-
这是一个副本,我现在无法搜索原件。答案是该函数以该形式存在,因为它支持加入任何类型的集合(而不仅仅是列表)。你想要的版本基本上没有意义,因为函数仍然作为集合接收参数
-
可迭代用例更为常见 - 您真正定义数量的唯一变量要对称连接的频率是多少?它们要么是相关的,应该在列表中,要么不是,加入它们是很奇怪的。
-
@user1062565:对于两个字符串,
str_one + '.' + str_two有什么问题?字符更少,更清晰! -
@pydsigner:我不知道 11 年以上是否“相当新”;)
标签: python