gpt4 book ai didi

python - 对 .join() 感到困惑

转载 作者:太空狗 更新时间:2023-10-30 01:56:30 25 4
gpt4 key购买 nike

我是 python 的新手,完全困惑,

为什么 ','.join('a','b','c') 出现错误,a ",".join(['a','b ','c'])没有。

为什么下面的代码有相同的输出?

In [3]: ",".join({'a':1,'b':2,'c':3})
Out[3]: 'b,a,c'

In [4]: ",".join({'a':2,'b':1,'c':3})
Out[4]: 'b,a,c'

In [5]: ",".join({'a':3,'b':2,'c':1})
Out[5]: 'b,a,c'

最佳答案

The docsstr.join 上声明该方法采用 an iterable,它是可以迭代的任何类型(列表、元组等):

str.join(iterable)¶

Return a string which is the concatenation of the strings in iterable. A TypeError will be raised if there are any non-string values in iterable, including bytes objects. The separator between elements is the string providing this method.


在您的第一个示例中,您将三个参数传递给一个方法,该方法期望其中一个参数接收到 TypeError,而您在传递列表的示例中按预期使用该方法(通过使用方括号)。在您键入的示例中,您传递的字典也是可迭代的,但是,当迭代时,它们会产生它们的键(注意:顺序未确定)。所以 say: {'a':1,'b':2,'c':3} 的键是:'a', 'b ''c' 因为这些都是字符串,所以该方法可以很好地用逗号将它们连接在一起

关于python - 对 .join() 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com