Skip to main content
 首页 » 编程设计

Python:从列表转换为字符串

2025年05月04日22傻小

我在做作业时遇到了问题。

"Write a function, to_str(a), that takes an array, a, converts each of its elements to a string (using str(a[i])) and appends all these strings together."

这是我的

def to_str(a): 
    for i in a: a.append([i]) 
    return str(a[i]) 

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

请您参考如下方法:

来自文档:

str(object) -> string

Return a nice string representation of the object. If the argument is a string, the return value is the same object.

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

对于您的代码,我有以下意见:

  • i 是 a 的一个元素,而不是您可能认为的索引;
  • 您正在将 a 的元素附加到 a(恐怕是无休止的);
  • a[i] 会导致异常,因为正如我所说,i 是一个元素,而不是索引;
  • 您需要返回字符串的串联,而不是来自一个元素的字符串。

另外,如果使用 str(a[i]) 不是严格强制的,我建议跳过它作为非 pythonic。为此,您根本不需要索引。示例:

''.join(str(element) for element in a) 

或

''.join(map(str, a)) 

将返回您需要的内容。在这两种情况下,str 都应用于 a 的所有元素。

不使用索引的最容易理解(“初学者”)的方法是

s = '' 
for element in a: 
    s += str(element) 
return s 

它的效率有点低,但它的效果是一样的。