小编Ter*_*how的帖子

RE拆分多个参数| (或)返回none python

我在python中使用RE表达式并试图按句点和感叹号分割一大块文本.然而,当我拆分它时,我在结果中得到"无"

a = "This is my text...I want it to split by periods. I also want it to split \
by exclamation marks! Is that so much to ask?"
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

re.split('((?<=\w)\.(?!\..))|(!)',a)
Run Code Online (Sandbox Code Playgroud)

请注意,我有这个(?<=\w).(?!..),因为我希望它避免使用省略号.不过,上面的代码吐出:

['This is my text...I want it to split by periods', '.', None, ' \
I also want it to split by exclamation marks', None, '!', \
' Is that so much to ask?']
Run Code Online (Sandbox Code Playgroud)

如您所见,在句号或感叹号所在的位置,它在我的列表中添加了一个特殊的"无".为什么这样,我怎么摆脱它?

python

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

BigDecimal + =(添加并分配)...如何做到这一点?

我似乎无法在BigDecimal类中找到'add and assign'方法.

有这个方法吗?

如果您不理解我的问题,我正在尝试这样做:

a += b;

但我正试图用BigDecimals来做

java bigdecimal

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

梯度下降:我们是否在GD中的每一步迭代所有训练集?或者我们是否为每个训练集更改GD?

我已经通过一些在线资源教自己机器学习,但我有一个关于梯度下降的问题,我无法弄清楚.

梯度下降的公式由以下物流回归给出:

Repeat {
    ?j = ?j??/m?(h?(x)?y)xj
}
Run Code Online (Sandbox Code Playgroud)

?j变量j的系数在哪里; ?是学习率; h?(x)是假设; y是实数值,xj是变量j的值.m是训练集的数量.h?(x),y适用于每个训练集(即总和符号的用途).

这是我感到困惑的地方.

我不清楚总和是代表我的整个训练集还是我已经完成了多少次迭代.

例如,假设我有10个训练样例.如果我在每个训练样例之后执行梯度下降,那么我的系数将会非常不同,如果我在所有10个训练样例之后执行梯度下降.

请参阅下文第一种方式与第二种方式的不同之处:

第一种方式

  • 步骤1:由于系数初始化为0,因此hθ(x)= 0
  • 步骤2:在第一个训练示例中执行梯度下降. 求和项仅包括1个训练示例
  • 步骤3:现在使用新系数训练示例1和2 ... 求和项包括前2个训练样例
  • 第4步:再次执行梯度下降.
  • 步骤5:现在使用新系数训练示例1,2和3 ... 求和项包括前3个训练样例
  • 继续直到收敛或使用所有训练示例.

第二种方式

  • 步骤1:由于系数初始化为0,因此对于所有10个训练样例,hθ(x)= 0
  • 步骤2:使用所有10个训练样例执行梯度下降的1个步骤.系数将与第一种方式不同,因为求和项包括所有10个训练样例
  • 步骤3:再次对所有10个训练样例使用新系数.求和项包括所有10个训练样例
  • 步骤4:执行梯度下降并继续使用所有示例上的系数直到收敛

我希望这能解释我的困惑.有谁知道哪种方法是正确的?

编辑:添加成本函数和假设函数

cost function = ?1/m?[ylog(h?(x))+(1?y)log(1?h?(x))]
h?(x) = 1/(1+ e^-z) 
and z= ?o + ?1X1+?2X2 +?3X3...?nXn
Run Code Online (Sandbox Code Playgroud)

machine-learning gradient-descent

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

表单内的表单/动态数组中的django formset

我有一个完全不同的json配置的平台.任何用户都可以创建一个完全不同的新json配置.因此,我不能静态地模拟这个.

我试图为这些json配置制作动态表单.

一些json配置具有值或对象的数组.在视觉上,我将需要这些是一个带有"添加更多"按钮的输入列表.

我发现这formsets是在django表单中添加值数组的普遍接受的方法.(我已经在使用mysql所以我无法切换到postgres ArrayField).但是,从django示例中,多个formset分别初始化并传递到视图中.

由于我的配置是动态的,我不知道要初始化什么表格集,而且字段的顺序在表单集和表单之间混合.

例如,我遵循此链接并动态创建我的表单类,如下所示:

class FieldHandler():
    def __init__(self, fields):
        self.formfields = {}
        for field in fields:
            options = self.get_options(field)
            f = getattr(self, "create_field_for_" +
                        field['type'])(field, options)
            self.formfields[field['name']] = f

    def get_options(self, field):
        options = {}
        options['label'] = field['name']
        options['help_text'] = field.get("help_text", None)
        options['required'] = bool(field.get("required", 0))
        return options

    def create_field_for_text(self, field, options):
        options['max_length'] = int(field.get("max_length", "20"))
        return django.forms.CharField(**options)

    def create_field_for_number(self, field, options):
        options['max_value'] = int(field.get("max_value", "999999999"))
        options['min_value'] = int(field.get("min_value", "-999999999"))
        return django.forms.IntegerField(**options)

    # …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-forms

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

open()函数python默认目录

我是新手,我不知道该open()函数的默认目录在哪里.

例如 open('whereisthisdirectory.txt','r')

有人可以告诉我吗?我已经尝试使用谷歌搜索(并查看stackoverflow),甚至将随机的txt文件放在这么多的文件夹中,但我仍然无法搞清楚.从我开始,我想立即学习而不是每次打开文件时键入"c:/directory/whatevevr.txt".谢谢!

我的python目录已安装到C:\ Python32,我使用的是3.2

python

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

bootstrap下拉菜单同一水平行上的两个链接

我正在使用Bootstrap来制作下拉菜单.我想要的一个选项是下拉菜单中同一水平行上的两个链接.我怎么做到这一点?

<div class = "navbar">
<div class = "navbar-inner">

<li class = "dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Dropdown Button
        <b class="caret"></b>
    </a>

    <ul class = "dropdown-menu" role="menu" >
        <li><a href="#">On First Row</a></li>
        <li><a href="#">On Second Row</a></li>
        <li><a href="#">On Third Row</a><a href="#">Also On Third Row</a></li>
</ul>
</li>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html twitter-bootstrap

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

如何动态地将嵌套表单字段添加到当前表单中?

Users和他之间有很多关系Chatgroups.直观地说,Users可以有很多Chatgroups,每个Chatgroup可以有很多用户.

我用一个名为的连接表实现了这个UserChatGroup.

在我的Chatgroup控制器中,当路由到该new功能时,我可以通过指定userChatGroups:[%UserChatGroup{},%UserChatGroup{}]等来硬编码聊天组中的成员数,其中硬编码的数字是该数组的大小.

例如,我的新聊天组控制器硬编码1用户:

def new(conn, _params) do
    changeset = ChatGroup.changeset(%ChatGroup{userChatGroups: [%UserChatGroup{}]})
    render(conn, "new.html", changeset: changeset)
end
Run Code Online (Sandbox Code Playgroud)

在我的新模板中,它引用了一个表单.表格的相关部分如下:

 <%= inputs_for f, :userChatGroups, fn i -> %>
    <div class="form-group">
      <%= label i, :user_id, "User Id", class: "control-label" %>
      <%= number_input i, :user_id, class: "form-control" %>

    </div>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

但是,我想删除聊天组中这些硬编码的成员数量.相反,我希望用户能够动态添加成员.

但是,我遇到了麻烦.执行此操作的rails方法是调用访问表单对象并更新它的函数.然后使用javascript插入输入字段.在提交时,新输入字段将是新表单对象的字段.

但是我无法弄清楚如何使用Phoenix Framework执行此操作.

我的第一个问题:

  1. 如何在我的函数中定义函数,view.html.eex以便可以在单击时调用它们而不是立即渲染?似乎当我尝试使用<%= functionFromMyView %>该功能时,在我的页面的初始加载时呈现.我想在单击"添加"按钮时调用此函数,因此我需要弄清楚如何仅在单击时调用此函数.那可能吗?

问题2,更具体到我的用例:

  1. 如何%UserChatGroup{}动态添加到表单? …

phoenix-framework

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

什么是灵丹妙药中的&+/2?

在灵药指南中看到这个:

Enum.reduce([1, 2, 3], 0, &+/2)

到底是什么&+/2?我似乎无法谷歌它为我的生活.

elixir

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

neo4j对缺少的匹配进行查询失败,而不是返回空数组

给出下面的密码查询

  MATCH (u:User {id: {userId}}), (b:B {id: {bId})
  CREATE (c:C), (c)-[:HAS_USER]->(u), (b)-[:SOME_REL]->(c)
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在创建一个C必须与2个事物,某个节点b和某个用户建立关系的节点.

当u或b不存在时,我会得到一个空数组,但我希望neo4j以失败而不是空数组作为响应.这使我更容易知道缺少哪个节点.当匹配条款没有返回任何内容时,是否可以"强制"失败?

neo4j cypher

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

如何从 docker 容器 rsync 到我的主机

我当前的开发环境允许在更改文件(即nodemon/ webpack)时自动重新加载代码。但是我正在设置一个kubernetes( minikube) 环境,以便我可以一次快速打开 3-4 个相关服务。

一切正常,但目前没有进行自动代码重新加载。我尝试安装卷,但dockervirtualbox处理文件的方式和处理方式存在一些冲突,因此冲突导致来自主机的文件更改未反映在 docker container 中。(这不是我拥有的第一个与此问题相关的链接,这只是我在另一天使用谷歌搜索时找到的第一个链接)...

无论如何,长话短说,ppl 很难在开发中完成实时重新加载。我发现这个问题在整个互联网上都存在,但解决方案很少。到目前为止,我发现的最佳解决方案是此人使用来自主机的 tar来同步文件夹。

但是我想要一个来自容器的解决方案。原因是我想从容器中运行脚本,这样开发人员就不必每次在特定的 repo 中开始开发时都在他的主机上运行一些脚本。

然而,为了做到这一点,我需要从容器到主机运行 rsync。我在弄清楚如何为此编写语法时遇到了很多令人惊讶的麻烦。

让我们假设我的应用程序分别存在于我的容器和主机中:

/workspace/app # location in container
/Users/terence/workspace/app  # location in host computer
Run Code Online (Sandbox Code Playgroud)

如何从容器同步到主机?我试过使用172.17.0.17127.0.0.1无济于事。不完全确定是否有办法做到这一点?

我试过的例子:

rsync -av 172.17.0.17:Users/terence/workspace/app /workspace/app
rsync -av 127.0.0.1:Users/terence/workspace/app /workspace/app
Run Code Online (Sandbox Code Playgroud)

linux rsync docker kubernetes minikube

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