Python 3 str.join() 是否保证顺序?

Not*_* ID 2 python string python-3.x

Python 3(标准实现)是否保证以下代码始终生成字符串2, 3, 1

', '.join(['2', '3', '1'])
Run Code Online (Sandbox Code Playgroud)

如果是,此功能(订单保持)记录在哪里?

如果不是,可以使用什么函数来获得保持顺序的连接?

Mar*_*ers 7

str.join() 按照您传入的序列列出字符串的顺序连接字符串。

由于您传入的是列表文字并且列表具有固定顺序,因此您的示例将始终以相同的顺序生成字符串输出,是的。

经验法则:如果订单的处理方式有任何不同,str.join()文档会明确提到这一点。不按照可迭代提供的顺序连接字符串将是......非常令人惊讶,更不用说不是很有用了。