当前位置: 首页 > 面试题库 >

在对象数组而不是字符串数组上的Python string.join(list)

薛博赡
2023-03-14
问题内容

在Python中,我可以执行以下操作:

>>> list = ['a', 'b', 'c']
>>> ', '.join(list)
'a, b, c'

有对象列表时,有什么简单的方法可以做到这一点?

>>> class Obj:
...     def __str__(self):
...         return 'name'
...
>>> list = [Obj(), Obj(), Obj()]
>>> ', '.join(list)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, instance found

还是我必须求助于for循环


问题答案:

您可以改用列表推导或生成器表达式:

', '.join([str(x) for x in list])  # list comprehension
', '.join(str(x) for x in list)    # generator expression


 类似资料:
  • 我知道要在数组中查找值是否存在,我可以使用indexOf,但如何使用对象数组呢?

  • 问题内容: 只是试图在视图中显示我通过ajax从控制器获取的数组,但它显示的是[object Object],[object Object]而不是array。请在下面检查我的js文件: 问题答案: 使用转换到。 试试这个: 我认为,这对您有帮助-

  • 字符串的扩展 ES6中的字符串扩展,用得少,而且逻辑相对简单。如下: includes(str):判断是否包含指定的字符串 startsWith(str):判断是否以指定字符串开头 endsWith(str):判断是否以指定字符串结尾 repeat(count):重复指定次数 举例如下: let str = 'abcdefg'; console.log(str.includes(

  • 我的程序有一个对象类。Person对象由一个String(这是一个人的名字)和一个6元素字符串数组组成。数组保存用户输入的值,以对6种不同的运动进行排名,从最优选到最不优选。 例如,名为的Person对象可以由一个设置为的字符串和一个数组组成,每个元素如下。(列出的第二项运动是鲍勃最喜欢的运动,最后一项是他最不喜欢的运动)。 可以使用以下代码创建该示例对象: 这里是Person类: 每次新用户输入

  • 我正在学习如何使用Spring靴和胸腺嘧啶。我有一个问题,我在表单列表中提供一个特定对象的列表到一个Thymeleaf页面。当用户选择值并发布结果时,结果是所选对象的字符串,并且与我想要存储值的对象不兼容。 这可能听起来像一口,所以下面是代码。 输入:一个类将一组成分传递给表单,这个类在一个类成分列表中传递给表单(过滤对此无关紧要--插入一个列表作为model属性的值,键是一种成分类型) Thym

  • 问题内容: 我有一个对象: 我正在寻找一种本机方法,该方法类似于以下方法: JavaScript是否对对象具有这样的功能?(我想为Node.JS使用它,所以我不在乎跨浏览器的问题。) 问题答案: 该对象没有本地对象,但是如何处理: 但是您可以使用以下命令轻松地遍历对象: 更新资料 很多人提到,以前的方法不会返回新对象,而是对对象本身进行操作。为此,我想添加另一个解决方案,该解决方案返回一个新对象并