Python:从列表转换为字符串

use*_*517 1 python string list

我在做家庭作业问题时遇到了问题.

"编写一个函数to_str(a),它接受一个数组a,将其每个元素转换为一个字符串(使用str(a [i]))并将所有这些字符串附加在一起."

这就是我所拥有的

def to_str(a):
    for i in a: a.append([i])
    return str(a[i])
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用str(a [i]),我想知道是否有人可以指出我正确的方向

Lev*_*sky 9

来自文档:

str(object) - > string

返回对象的一个​​很好的字符串表示.如果参数是字符串,则返回值是同一个对象.

因此str(a[i])将返回字符串表示a[i],即转换a[i]为字符串.然后,您需要连接所有值的字符串i.

至于你的代码,我有以下评论:

  • ia你可能想到的一个元素,而不是一个索引;
  • 要附加的元素a,以a(不休,只怕);
  • a[i]可能导致异常,因为,就像我说的,i是一个元素,而不是一个索引;
  • 你需要返回字符串的串联,而不是一个元素的字符串.

此外,如果使用str(a[i])不是严格强制性的,我建议将其作为unpythonic跳过.您根本不需要索引.例子:

''.join(str(element) for element in a)
Run Code Online (Sandbox Code Playgroud)

要么

''.join(map(str, a))
Run Code Online (Sandbox Code Playgroud)

将返回您需要的东西.在这两种情况下str都适用于所有元素a.

不使用索引的最简单("初学者")方式将是

s = ''
for element in a:
    s += str(element)
return s
Run Code Online (Sandbox Code Playgroud)

效率稍低,但实际上却有效.