问题列表 - 第181572页

将列表列表分解为词典

我有一个列表清单,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)

python python-2.7 dictionary-comprehension

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

矢量的部分总和

对于向量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循环我可以计算吗?

matlab

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

为什么这个Haskell数组填充操作如此之慢?

对于特定的任务,我需要在可变数组中进行大量快速的单独写入.为了检查性能,我使用了以下测试:

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中测试了一个等效的程序: …

performance haskell

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

SceneKit - SCNCamera自上而下的视图

我是来自2D SpriteKit的SceneKit的新手,并试图弄清楚如何调整相机,使其处于面向世界的顶端.我的位置部分是正确的,但是在旋转时我会卡住.如果我调整X,Y orZ axis, nothing seems to happen, however on the W axis the slightest change (even0.1"更高或更低",似乎将摄像机向未知方向移动.我究竟做错了什么?

cameraNode.position = SCNVector3Make(0, 10, 0)
cameraNode.rotation = SCNVector4Make(0, 0, 0, 0.5)
Run Code Online (Sandbox Code Playgroud)

objective-c quaternions ios scenekit swift

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

返回仅元音大写的字符串

我想返回变量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)

javascript

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

使用词干切换标识时,常规SOCKS服务器故障

我在端口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(第一个代码片段)设置代理的情况下运行上述操作,我可以毫无问题地发出信号.

python proxy tor socks web-scraping

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

如何以编程方式调用Windows权限对话框?

我正在尝试编写证书管理器,我想管理证书文件的权限.我不希望重新发明Windows权限对话框的轮子,所以理想情况下会有某种shell命令,我可以传递其权限被管理的项目的路径.然后,我可以调用它并让shell负责更新权限.

我在这里和那里看到过一些shell函数SHObjectProperties,但没有明确说明如何使用它.任何帮助,将不胜感激.

c# security permissions winforms

5
推荐指数
2
解决办法
1392
查看次数

OpenCV 3 KNN实现

您可能知道,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的实际代码?

c++ opencv knn opencv3.0

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

在Python中,如何获取下一个和上一个键:字典中特定键的值?

好的,所以这有点难以解释,但这里有:

我有一本字典,我正在添加内容.内容是带有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)

python dictionary key

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

我做svn更新时解决合并冲突

我正在尝试学习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)

svn

23
推荐指数
2
解决办法
4万
查看次数