我有一个列表清单,s
即查询Fruit上的数据库的结果,item[0]
是水果的名称,是水果item[1]
是否有种子,item[2]
是否可以食用.
s = [['Apple','Yes','Edible'], ['Watermellon','Yes','Yes']]
Run Code Online (Sandbox Code Playgroud)
由于我的实际列表要大得多,我想要一种非常简单的方法来引用/返回这些值.例如,print my_dict['Apple']['Seeds']
会屈服Yes
我认为我最好的选择是创建一个字典,但我正在寻找建议,如果这是一个好方法,以及如何做到这一点.
我开始编写一些代码,但我不确定如何获得第二组标题,所以我的示例使用索引代替.
my_dict = {t[0]:t[1:] for t in s}
print my_dict['Apple'][0]
Run Code Online (Sandbox Code Playgroud) 对于向量v
(例如v=[1,2,3,4,5]
),以及两个索引向量(例如a=[1,1,1,2,3]
和b=[3,4,5,5,5]
与所有a(i)<b(i)
),我想建造w=sum(v(a:b))
,这给值
w = zeros(length(a),1);
for i = 1:length(a)
w(i)=sum(v(a(i):b(i)));
end
Run Code Online (Sandbox Code Playgroud)
length(a)
大的时候很慢.w
没有for
循环我可以计算吗?
对于特定的任务,我需要在可变数组中进行大量快速的单独写入.为了检查性能,我使用了以下测试:
size :: Int
size = 256*256*16
arr :: UArray Int Int
arr = runST $ do
arr <- newArray (0,size) 0 :: ST s (STUArray s Int Int)
forM_ [0..size] $ \i -> do
writeArray arr i i
unsafeFreeze arr
arr_sum = foldl' (\ sum i -> sum + (arr ! i)) 0 [0..size-1]
main = print arr_sum
Run Code Online (Sandbox Code Playgroud)
结果如下:
vh:haskell apple1$ ghc -O3 bench.hs -o bench; time ./bench
Linking bench ...
549755289600
real 0m0.748s
user 0m0.697s
sys 0m0.048s
Run Code Online (Sandbox Code Playgroud)
我怀疑它不应该花0.7秒来填充内存上的256*256*16数组,所以我在JavaScript中测试了一个等效的程序: …
我是来自2D SpriteKit的SceneKit的新手,并试图弄清楚如何调整相机,使其处于面向世界的顶端.我的位置部分是正确的,但是在旋转时我会卡住.如果我调整X,
Y or
Z axis, nothing seems to happen, however on the W axis the slightest change (even
0.1"更高或更低",似乎将摄像机向未知方向移动.我究竟做错了什么?
cameraNode.position = SCNVector3Make(0, 10, 0)
cameraNode.rotation = SCNVector4Make(0, 0, 0, 0.5)
Run Code Online (Sandbox Code Playgroud) 我想返回变量newString,只有元音大写.不知道如何继续.使用if/else块尝试但我的逻辑不正确.
function LetterChanges(str) {
var newArray = [];
for (var i = 0; i < str.length; i++) {
var strCode = str.charCodeAt(i) + 1;
var strLetter = String.fromCharCode(strCode);
newArray.push(strLetter);
var newString = newArray.join("");
}
return newString;
}
LetterChanges("hello");
Run Code Online (Sandbox Code Playgroud) 我在端口9150上的远程服务器(Ubuntu)上运行Tor,控制端口在9151上.我已确认两者都是通过netstat -ant运行的.
这是我的代码,它引出了SOCKS5Error: 0x01: General SOCKS server failure
错误.
import socks
import socket
socks.set_default_proxy(socks.SOCKS5, server_ip, 9150)
socket.socket = socks.socksocket
Run Code Online (Sandbox Code Playgroud)
我可以从任何库发出请求,并成功获得带有转发地址的响应.
但是以下是导致错误的原因:
from stem import Signal
from stem.control import Controller
with Controller.from_port(port = 9151) as controller:
controller.authenticate(password)
controller.signal(Signal.NEWNYM)
Run Code Online (Sandbox Code Playgroud)
如果我在没有使用socks(第一个代码片段)设置代理的情况下运行上述操作,我可以毫无问题地发出信号.
我正在尝试编写证书管理器,我想管理证书文件的权限.我不希望重新发明Windows权限对话框的轮子,所以理想情况下会有某种shell命令,我可以传递其权限被管理的项目的路径.然后,我可以调用它并让shell负责更新权限.
我在这里和那里看到过一些shell函数SHObjectProperties,但没有明确说明如何使用它.任何帮助,将不胜感激.
您可能知道,OpenCV 3中的许多内容都发生了变化.在之前的OpenCV版本中,我曾经这样做过:
Mat trainData(classes * samples, ImageSize, CV_32FC1);
Mat trainClasses(classes * samples, 1, CV_32FC1);
KNNLearning(&trainData, &trainClasses); //learning function
KNearest knearest(trainData, trainClasses); //creating
//loading input image
Mat input = imread("input.jpg");
//digital recognition
learningTest(input, knearest);//test
Run Code Online (Sandbox Code Playgroud)
我还找到了一个如何弄清楚它的例子,但我在创建函数中仍然有错误:
Ptr<KNearest> knearestKdt = KNearest::create(ml::KNearest::Params(10, true, INT_MAX, ml::KNearest::KDTREE));
knearestKdt->train(trainData, ml::ROW_SAMPLE, trainLabels);
knearestKdt->findNearest(testData, 4, bestLabels);
Run Code Online (Sandbox Code Playgroud)
能否请您提供相关信息,如何正确地重写KNearest到openCV 3的实际代码?
好的,所以这有点难以解释,但这里有:
我有一本字典,我正在添加内容.内容是带有IP地址(值)的哈希用户名(密钥).我通过在基数16上运行它们然后使用Collection.orderedDict将哈希放入一个顺序.所以,字典看起来有点像这样:
d = {'1234': '8.8.8.8', '2345':'0.0.0.0', '3213':'4.4.4.4', '4523':'1.1.1.1', '7654':'1.3.3.7', '9999':'127.0.0.1'}
Run Code Online (Sandbox Code Playgroud)
我需要的是一种机制,允许我选择其中一个键,并使键/值项目更高,更低一个.所以,例如,如果我选择2345,代码将返回键:值组合'1234:8.8.8.8'和'3213:4.4.4.4'
所以,像:
for i in d:
while i < len(d)
if i == '2345':
print i.nextItem
print i.previousItem
break()
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习Eric Sink的版本控制基础知识 - http://ericsink.com/vcbe/vcbe_usletter_lo.pdf
我现在在第22页.我会为你描述一下这个场景.同一台计算机上的两个用户harry和sally正在处理一个名为lottery.c的文件,该文件存储在一个名为lottery的仓库中.
1 - Harry提交第一个/初始代码.2 - Sally更改并提交.3 - 虽然2正在发生,但哈里已经做出了改变,但没有做出改变.4 - Harry承诺并收到错误.
Transmitting file data .svn: Commit failed (details follow):
svn: File '/lottery.c' is out of date
Run Code Online (Sandbox Code Playgroud)
5 - 为了解决这个问题,哈里将使用更新他的本地副本svn update
.
这是我遇到问题的地方!作者说输出是:
lottery harry$ svn update
G lottery.c
Updated to revision 2.
Run Code Online (Sandbox Code Playgroud)
但是,我的输出是:
lottery harry$ svn update
Updating '.':
C lottery.c
Updated to revision 2.
Conflict discovered in file 'lottery.c'.
Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
(mc) my side of conflict, …
Run Code Online (Sandbox Code Playgroud) python ×3
c# ×1
c++ ×1
dictionary ×1
haskell ×1
ios ×1
javascript ×1
key ×1
knn ×1
matlab ×1
objective-c ×1
opencv ×1
opencv3.0 ×1
performance ×1
permissions ×1
proxy ×1
python-2.7 ×1
quaternions ×1
scenekit ×1
security ×1
socks ×1
svn ×1
swift ×1
tor ×1
web-scraping ×1
winforms ×1