小编Ole*_*kov的帖子

如何在 Python 中舍入 yaml.dump 的数字输出?

有没有一种干净的方法来控制 的数字舍入输出yaml.dump?例如,我有一个具有不同复杂性变量的类,其中一些是双精度数字,我想四舍五入为第四位数字。该yaml输出仅供显示;它不会被加载(即yaml.load不会被使用)。

作为一个简单的例子,考虑A下面的类:

import yaml
class A:
    def __init__(self):
        self.a = 1/7
        self.b = 'some text'
        self.c = [1/11, 1/13, 1/17, 'some more text']

    def __repr__(self):
        return yaml.dump(self)

A()
Run Code Online (Sandbox Code Playgroud)

带输出

!!python/object:__main__.A
a: 0.14285714285714285
b: some text
c: [0.09090909090909091, 0.07692307692307693, 0.058823529411764705, some more text]
Run Code Online (Sandbox Code Playgroud)

和期望的输出:

!!python/object:__main__.A
a: 0.1429
b: some text
c: [0.0909, 0.0769, 0.0588, some more text]
Run Code Online (Sandbox Code Playgroud)

yaml.representative我想这可以通过某种干净的方式来完成。我想避免使用字符串输出的舍,因为实际的类结构可能更复杂(递归等)

python precision yaml rounding python-3.x

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

查找和替换字符串中的多个逗号/空格实例,Python

我有一个字符串,其中包含多个连续的,(逗号+空格)实例,我想用一个实例替换它。有没有干净的方法来做到这一点?我想 RegEx 会有所帮助。

一个天真的例子:

s = 'a, b, , c, , , d, , , e, , , , , , , f
Run Code Online (Sandbox Code Playgroud)

所需的输出:

'a, b, c, d, e, f
Run Code Online (Sandbox Code Playgroud)

自然,文本可以更改,因此应该搜索 的连续实例,

python regex string text python-3.x

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

在 Python 中确定嵌套元组的嵌套级别的简单方法

t有没有一种简单的方法来确定(表示重组二项式树)的嵌套级别(不依赖Python的递归限制) ?

t = (4, (3, 5, (2, 4, 6, (1, 3, 5, 7))))
Run Code Online (Sandbox Code Playgroud)

请注意,如果没有 的深度的先验知识t,例程可能会面临由 设定sys.setrecursionlimit(n)和查看的递归限制sys.getrecursionlimit()。尽管如此,事先将递归限制设置得非常高可能还不够,从而产生错误

`RecursionError: maximum recursion depth exceeded while calling a Python object`. 
Run Code Online (Sandbox Code Playgroud)

下面生成一个更大(更深)的t

t = tuple(tuple(range(k)) for k in range(1,200))`
Run Code Online (Sandbox Code Playgroud)

我想这些可能会起作用(还没有弄清楚细节):

  • 可以转换t为字符串并计算左括号的数量
  • 如果展平元组的大小为 $N$,则深度的大小为 $n(n+1)/2=N$ 的正二次根,即 $n=(-1+\sqrt(1+8N)) /2$
  • 迭代地剥离(并计数)外部容器,直到嵌套最深
  • 还有其他人吗?

PS 有什么想法为什么内联 TeX 在我的问题中没有渲染吗?测试:$N$

python algorithm recursion nested python-3.x

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

Python中Keras库中的Convolution2D与Conv2D

是否有关于这些模块相同或不同以及模块之间差异的文档?

keras.layers.Conv2D
keras.layers.Convolution2D
keras.layers.convolutional.Conv2D
keras.layers.convolutional.Convolution2D
Run Code Online (Sandbox Code Playgroud)

python neural-network conv-neural-network keras tensorflow

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

Python tqdm软件包-如何配置不频繁的状态栏更新

tqdm在Python 3.6(Anaconda 3,Windows 10 x64,PyCharm IDE)中使用一个包(v4.19.5)进行了200K +迭代的循环。它过于频繁地打印状态栏,因此我以前的历史记录在控制台中消失了。

有没有办法限制状态栏更新的频率?我似乎找不到在线或tqdm网站上的解决方案。

目前,我的状态栏是这样打印的。理想情况下,我想为百分比变化设置上限。例如,每1%更改/进度更新一次的频率不超过一次。

在此处输入图片说明

python loops statusbar python-3.x tqdm

2
推荐指数
3
解决办法
919
查看次数

如何在Python中将作者身份添加到NumPy文档字符串

我们从Sphinx切换为样式NumPy文档字符串,并且.. sectionauthor::似乎无法正确呈现。但是,我们需要能够为一个类的每个方法分配一个作者。

有没有一种方法可以适当地向NumPy文档字符串添加作者身份?

一个简单的例子:

class A:
    def f(self):
        """ My function

        It does this and that.

        Returns
        -------
        object

        .. sectionauthor:: name of the author

        Examples
        --------
            >>> A().f()

        """
        pass
Run Code Online (Sandbox Code Playgroud)

编译到此帮助文档中(注意问题返回:部分):

在此处输入图片说明

PS .. sectionauthor::在NumPy docstring中建议在其他地方使用(无法回忆起源代码),因此也许根本就没有正确使用/放置它。

python numpy docstring python-3.x python-sphinx

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