如果我想要列表中的最大值,我可以写max(List)
,但如果我还需要最大值的索引怎么办?
我可以这样写:
maximum=0
for i,value in enumerate(List):
if value>maximum:
maximum=value
index=i
Run Code Online (Sandbox Code Playgroud)
但这对我来说看起来很乏味.
如果我写:
List.index(max(List))
Run Code Online (Sandbox Code Playgroud)
然后它将迭代列表两次.
有没有更好的办法?
在Python 3中,我正在检查给定值是否为三角形,也就是说,对于某些正整数n,它可以表示为n(n + 1)/ 2
我可以写一下:
import math
def is_triangular1(x):
num=(1/2) * (math.sqrt(8*x+1)-1 )
return int(num)==num
Run Code Online (Sandbox Code Playgroud)
或者我需要这样做吗?:
epsilon = 0.000000000001
def is_triangular2(x):
num=(1/2) * (math.sqrt(8*x+1)-1 )
return abs(int(num) - num)<epsilon
Run Code Online (Sandbox Code Playgroud)
我检查了两个函数返回x的相同结果,最多为1,000,000.但我不确定一般来说int(x)== x将始终正确地确定一个数是否是整数,因为例如5的情况表示为4.99999999999997等.
据我所知,第二种方法是正确的,如果我用C语言,但我不确定Python 3.
通用逼近定理的形式陈述表明,具有单个隐藏层的神经网络可以逼近在m维单位超立方体上连续的任何函数.但是,关于它们是否可以总是被神经网络近似的任何已知事物如何?
例如,采用计算数字pi的第n位的函数.如果我在这个数据上训练一些隐藏层神经网络:( n,pi的第n个数字),它最终是否能够为看不见的n返回正确的值?多个隐藏层神经网怎么样?
我有一个在Windows上编写的C#程序,我需要将它传输到linux服务器.
但是客户端不希望在他的服务器上安装mono,所以我想找到一种让他轻松的方法.
是否有可能将这个程序转换为在Linux上运行而不安装单声道的格式?
我正在尝试学习如何使用生成器,所以我写了这个,但它只是一直打印相同的值.为什么?
我希望它生成从999到100的值.
>>> def gen_a():
a=999
while a>99:
yield a
a-=1
>>> gen_a().next()
999
>>> gen_a().next()
999
>>> gen_a().next()
999
Run Code Online (Sandbox Code Playgroud) 我没有使用html的丰富经验,但是我尝试制作一个简单的表,但在其中得到了额外的单元格,我不知道为什么。这是代码:
<table border="1">
<tr>
<td colspan="5"> hi <td>
<td colspan="3"> hi <td>
</tr>
<tr>
<td colspan="3"> hi <td>
<td colspan="5"> hi <td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我希望这有两行,每行有2个单元格,第一行的第一个单元格较大,第二行的第二个单元格较大。但是由于某种原因,我每行有4个单元格,如下所示:
。
如何从python程序中执行一个程序,以便它在一个单独的cmd.exe窗口中打开,并显示已执行程序的输出?我尝试使用subprocess.popen但它在程序运行时不显示cmd.exe窗口.
该计划是:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char *a="abc",*ptr;
ptr=a;
ptr++;
*ptr='k';
printf("%c",*ptr);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题在于
*ptr='k';
Run Code Online (Sandbox Code Playgroud)
线,当我删除它程序正常工作.但我无法弄清楚原因.
任何人都可以向我解释这两行代码背后的含义是什么:https://github.com/Newmu/Theano-Tutorials/blob/master/4_modern_net.py
acc = theano.shared(p.get_value() * 0.)
acc_new = rho * acc + (1 - rho) * g ** 2
Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?为什么我们将acc实例化为零,然后在下一行中将它乘以rho?看起来它不会以这种方式实现任何目标并且保持为零.如果我们用"acc"替换"rho*acc"会有什么不同吗?
完整功能如下:
def RMSprop(cost, params, lr=0.001, rho=0.9, epsilon=1e-6):
grads = T.grad(cost=cost, wrt=params)
updates = []
for p, g in zip(params, grads):
acc = theano.shared(p.get_value() * 0.)
acc_new = rho * acc + (1 - rho) * g ** 2
gradient_scaling = T.sqrt(acc_new + epsilon)
g = g / gradient_scaling
updates.append((acc, acc_new))
updates.append((p, p - lr * g))
return …
Run Code Online (Sandbox Code Playgroud)