相关疑难解决方法(0)

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

在Python中,我可以这样做:

>>> list = ['a', 'b', 'c']
>>> ', '.join(list)
'a, b, c'
Run Code Online (Sandbox Code Playgroud)

当我有一个对象列表时,有没有简单的方法来做同样的事情?

>>> 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
Run Code Online (Sandbox Code Playgroud)

或者我是否必须求助于for循环?

python list

266
推荐指数
2
解决办法
35万
查看次数

在`print()`中使用`for`将在Python 3.x上提供一个生成器?

为什么以及如何运作?例如,我正在写这样的列表理解:

>>> a = (10, 30, 20)
>>> print([q for q in a])
[10, 30, 20]
Run Code Online (Sandbox Code Playgroud)

现在,如果我删除了[],这也可以,但是:

>>> a = (10, 30, 20)
>>> print(q for q in a)
<generator object <genexpr> at 0x7fe527d1dca8>
Run Code Online (Sandbox Code Playgroud)

Python会在这里制作一个生成器吗?如果我这样做没有print():

>>> a = (10, 30, 20)
>>> b = q for q in a

File "<input>", line 1
  b = q for q in a
          ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我正在考虑因为(q for q in a)会生成一台发电机,但那是不可能的,但是我没有使用两对()像:

>>> a = …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension python-3.x

1
推荐指数
1
解决办法
122
查看次数

标签 统计

python ×2

list ×1

list-comprehension ×1

python-3.x ×1