相关疑难解决方法(0)

列表理解与地图

是否有理由更喜欢使用map()超过列表理解,反之亦然?它们中的任何一个通常比另一个更有效或被认为是更加pythonic?

python list-comprehension map-function

680
推荐指数
8
解决办法
19万
查看次数

对象数组上的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万
查看次数

内置 round() 的替代方法是什么?

Pylint 抱怨内置引用,但有什么替代方法?

到目前为止,我所看到答案只是让 Pylint 在内置函数方面保持安静。必须有其他调用方式round(),也许在标准导入库中?使用内置函数有什么潜在问题吗?

我对这些答案的搜索只提供了几十个关于使用内置函数的教程。

用法与 with 无关round()。这会触发警告:

n = 0.05
n = round(n)
Run Code Online (Sandbox Code Playgroud)

确切的警告只出现在 VS Code 中,它是:

{
    "resource": "/C:/Users/neil.obremski/project/file.py",
    "owner": "python",
    "code": "round-builtin",
    "severity": 4,
    "message": "round built-in referenced",
    "source": "pylint",
    "startLineNumber": 434,
    "startColumn": 9,
    "endLineNumber": 434,
    "endColumn": 9
}
Run Code Online (Sandbox Code Playgroud)

更新:这--enable=W会在 Pylint 参数中设置时显示。它绝对适用于该函数的任何使用round(),包括指定第二个参数。

这是 Pylint 输出的样子pylint file.py --enable=W

file.py:435:18: W1633: round built-in referenced (round-builtin)
Run Code Online (Sandbox Code Playgroud)

python pylint python-3.x

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