Python 3(标准实现)是否保证以下代码始终生成字符串
2, 3, 1
?
', '.join(['2', '3', '1'])
如果是,此功能(订单保持)在哪里记录?
如果不是,可以使用什么函数来获得顺序保持连接?
str.join()
按照您传入的序列列出字符串的顺序连接字符串。
由于您传递的是列表文字并且列表具有固定的顺序,因此您的示例将始终以相同的顺序生成字符串输出,是的。
str.join()
文档会明确提及这一点。不按照可迭代提供的顺序连接字符串会......非常令人惊讶,更不用说不是很有用。
与普遍看法相反(Python 3.12.0)
>>> list1 = {'1', '2', '3', '4'}
>>> s = " - "
>>> s = s.join(list1)
>>> print(s)
2 - 3 - 1 - 4
想法?