在Python中将list字符串传递到join()函数时,如何解释结果?

2024-05-16 10:50:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在玩join函数时,在join函数中错误地传递了一个转换为字符串的列表。结果非常奇怪,如下面的代码所示

解释结果的最佳方法是什么

test =  ['2', '1', '3']
s = 'x'
print(s.join(str(test)))

输出

[x'x2x'x,x x'x1x'x,x x'x3x'x]

Tags: 方法函数字符串代码test列表错误print
2条回答

join函数将列表中的元素组合成一个字符串,其中包含一些您定义的分隔符。如果你给它一个字符串,它会把它分成一个列表,然后用你的分隔符连接起来。所以你把你的字符串列表传给了它:

'[', "'", '1', "'", ',', ' ', "'", '2', "'", ',', ' ', "'", '3', "'", ']'

然后它和“x”连在一起

基本上,当您键入str(test)时,python会生成一个字符串"['2', '1', '3']"。这是一个包含15个字符的字符串(不要被'搞混了,它们也被认为是字符

现在,当您执行s.join(str(test))操作时,您可以将其视为在字符串的每个字符之间放置一个x

最初的字符序列是:

[  > '  > 2  > '  > ,  > '  > 1  > '  > ,  >'  > 3  > '  > ]

然后'x'.join(str(test))在上面有箭头( >)的地方放置一个x

join的典型用法是传递一个列表而不是字符串作为其参数。例如,如果您写道:

s.join(test)

它将返回:

'2x1x3'

相关问题 更多 >