问题列表 - 第49741页

列表转换为每个键有多个值的字典转换?

我有一个Python列表,其中包含键/值对:

l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]
Run Code Online (Sandbox Code Playgroud)

我想将列表转换为字典,其中每个键的多个值将聚合到一个元组中:

{ 1:('A', 'B'), 2:('C',) }
Run Code Online (Sandbox Code Playgroud)

迭代解决方案是微不足道的:

l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]
d={}
for pair in l:
    if d.has_key(pair[0]):
        d[pair[0]]=d[pair[0]]+tuple(pair[1])
    else:
        d[pair[0]]=tuple(pair[1])

print d

{1: ('A', 'B'), 2: ('C',)}
Run Code Online (Sandbox Code Playgroud)

是否有更优雅的Pythonic解决方案来完成这项任务?

python dictionary list type-conversion

52
推荐指数
3
解决办法
9万
查看次数

最大和的连续子阵列(访谈问题)

可能重复:
在实数列表中查找最大间隔总和.

我今天在Adobe面试中被问到以下问题,担任软件工程师的职位.

问题 给定一组arr[1..n]整数.编写一个算法来查找数组中具有最大总和的连续子阵列的总和.如果所有数字都是负数,则返回0.

给定数组 arr[1..6] = [ 12, 14, 0, -4, 61, -39 ]

回答

83用[ 12, 14, 0, -4, 61 ].构造.

我可以提出一个运行的解决方案,O(n logn)但我不认为它非常有效.面试官要我写一个O(n)算法.我无法想出来.

有关如何O(n)为此问题编写解决方案的任何想法?要在C/C++/Java中实现的算法.

提前致谢

c c++ java algorithm

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

Mac中的CF前缀

它在Mac OS X类中的含义是什么?例如CFString,CFNumber,CFBoolean和CFDate.

macos objective-c

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

过滤通用列表的最简单方法

我有以下类在我的表中定义一个条目(我删除了brewity的构造函数,它简单地设置了该数据):

class FilterResult
{
    public bool Checked { get; set; }
    public string Url { get; private set;}
    public string Description { get; private set; }
    public int ItemID { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我使用它作为WinForms应用程序中的DataGridView的简单源,使用GUI中的"选择数据源"创建,这导致自动创建的类被调用filterResultBindingSource.

现在,这种方法不支持DataGridView.Filter属性,我需要能够对结果进行简单的过滤.

我怎样才能以最快/最简单的方式创建自定义列表,绑定源或第三个以支持过滤?从我所看到的,实现IBindingListView或新的BindingSource涉及很多工作,但如果我错了,请纠正我.

它不一定要使用Filter属性,事实上如果我可以实现一个自定义方法可能会更容易,我可以使用Where列表中提供的-method 进行过滤.

c# datagridview filter

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

禁用右键单击网页

可能重复:
如何禁用右键单击我的网页.

是否可以使用Javascript禁用右键单击网页的控件,如文本框,链接等.

javascript asp.net

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

错误:有未提交的事务

我在SSMS中打开一个新窗口并运行:

SET ANSI_DEFAULTS ON 
GO

CREATE PROCEDURE [dbo].[zzz_test2]
(
    @a    int
)
AS
    SET NOCOUNT ON
    SET @a=1
    RETURN 0
GO
Run Code Online (Sandbox Code Playgroud)

然后关闭窗口,这会产生此警告:

There are uncommitted transactions. Do you wish to commit these before closing the window?

到底是怎么回事??

当我打开一个新的SSMS窗口并运行它:

SET ANSI_NULLS  ON  
GO    

CREATE PROCEDURE [dbo].[zzz_test2]
(
    @a    int
)
AS
    SET NOCOUNT ON
    SET @a=1
    RETURN 0
GO
Run Code Online (Sandbox Code Playgroud)

并关闭窗口,我没有得到任何警告.

t-sql sql-server sql-server-2005

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

C中的大型数组

我正在尝试实施OSEM算法(我正在尝试,因为我必须,而不仅仅是为了好玩)我有一个问题:

由于我将使用非常大的矩阵,我想知道我可以用malloc分配的最大数组大小(C语言).根据我的阅读,它取决于您的操作系统和硬件:我正在使用Intel Xeon E5530 2.40 Ghz,Red Had Enterprise 64位,Nvidia Quadro FX 3800.

我将使用的矩阵有类似这些尺寸的东西:float/double 2000x1000x20.

鉴于这些矩阵要与CUDA C一起使用,我必须在一维数组中分配矩阵,如下所示:

float*matrix=(float*)malloc(sizeof(float)*2000*1000*20));
Run Code Online (Sandbox Code Playgroud)

提前致谢 ;)

c cuda matrix dynamic-arrays

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

使用Raphael JS,使用带有偏移量的背景图像填充SVG元素

我希望这个这个Fill SVG元素带有带偏移的背景图像,但是使用Raphael JS.

使用没有偏移的背景图像显示矩形很容易.

canvas.rect(
    positionx, positiony, width, height
).attr(
    {fill: "url('/content/image_set.gif')"}
);
Run Code Online (Sandbox Code Playgroud)

上面的代码只显示图像的左上角.我想转移它并显示它的另一部分.我该怎么做?

html svg image background-image raphael

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

"关闭"阻塞队列

我在一个非常简单的生产者 - 消费者场景中使用java.util.concurrent.BlockingQueue.例如,这个伪代码描述了消费者部分:

class QueueConsumer implements Runnable {

    @Override
    public void run() {
        while(true)
        {
            try {
                ComplexObject complexObject = myBlockingQueue.take();
                //do something with the complex object
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.在阻塞队列的javadoc中,我读到:

BlockingQueue本质上不支持任何类型的"关闭"或"关闭"操作,以指示不再添加任何项目.这些功能的需求和使用倾向于依赖于实现.例如,一种常见的策略是生产者插入特殊的流末端或毒物对象,这些对象在被消费者采用时会相应地进行解释.

不幸的是,由于使用的泛型和ComplexObject的性质,将"毒物对象"推入队列并非易事.所以这个"常用策略"在我的场景中并不是很方便.

我的问题是:我可以用什么其他好的策略/模式来"关闭"队列?

谢谢!

java multithreading blockingqueue

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

为什么在显示窗口时不会终止简单的Swing应用程序?

这是一些示例代码:

import javax.swing.*;

public class MyApplicatin {
    public static void main(String args[]) {
        JFrame window = new JFrame();
        window.setSize(100,100);
        window.setVisible(true);

        System.out.println("Should terminate after printing this.");
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么这个小应用程序在打印完最后一行后没有终止?

我的猜测是Swing启动了一个新的非守护进程线程.我正在阅读关于必须一直在单独的线程中使用Java的GUI内容,如果Swing已经使用了一个单独的线程,为什么有人会写这个呢?

java swing

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