我在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)
如您所见,在句号或感叹号所在的位置,它在我的列表中添加了一个特殊的"无".为什么这样,我怎么摆脱它?
我似乎无法在BigDecimal类中找到'add and assign'方法.
有这个方法吗?
如果您不理解我的问题,我正在尝试这样做:
a += b;
但我正试图用BigDecimals来做
我已经通过一些在线资源教自己机器学习,但我有一个关于梯度下降的问题,我无法弄清楚.
梯度下降的公式由以下物流回归给出:
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个训练样例之后执行梯度下降.
请参阅下文第一种方式与第二种方式的不同之处:
第一种方式
第二种方式
我希望这能解释我的困惑.有谁知道哪种方法是正确的?
编辑:添加成本函数和假设函数
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) 我有一个完全不同的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) 我是新手,我不知道该open()函数的默认目录在哪里.
例如 open('whereisthisdirectory.txt','r')
有人可以告诉我吗?我已经尝试使用谷歌搜索(并查看stackoverflow),甚至将随机的txt文件放在这么多的文件夹中,但我仍然无法搞清楚.从我开始,我想立即学习而不是每次打开文件时键入"c:/directory/whatevevr.txt".谢谢!
我的python目录已安装到C:\ Python32,我使用的是3.2
我正在使用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) 我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执行此操作.
我的第一个问题:
view.html.eex以便可以在单击时调用它们而不是立即渲染?似乎当我尝试使用<%= functionFromMyView %>该功能时,在我的页面的初始加载时呈现.我想在单击"添加"按钮时调用此函数,因此我需要弄清楚如何仅在单击时调用此函数.那可能吗?问题2,更具体到我的用例:
%UserChatGroup{}动态添加到表单? …在灵药指南中看到这个:
Enum.reduce([1, 2, 3], 0, &+/2)
到底是什么&+/2?我似乎无法谷歌它为我的生活.
给出下面的密码查询
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以失败而不是空数组作为响应.这使我更容易知道缺少哪个节点.当匹配条款没有返回任何内容时,是否可以"强制"失败?
我当前的开发环境允许在更改文件(即nodemon/ webpack)时自动重新加载代码。但是我正在设置一个kubernetes( minikube) 环境,以便我可以一次快速打开 3-4 个相关服务。
一切正常,但目前没有进行自动代码重新加载。我尝试安装卷,但docker与virtualbox处理文件的方式和处理方式存在一些冲突,因此冲突导致来自主机的文件更改未反映在 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.17和127.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) python ×2
bigdecimal ×1
cypher ×1
django ×1
django-forms ×1
docker ×1
elixir ×1
html ×1
java ×1
kubernetes ×1
linux ×1
minikube ×1
neo4j ×1
rsync ×1