问题列表 - 第35998页

在Python中展平字典的词典(2级深度)

我试图将我的大脑包裹起来,但它不够灵活.

在我的Python脚本中,我有一个列表字典的字典.(实际上它会更深一些,但这个级别不涉及这个问题.)我想把所有这些变成一个长列表,扔掉所有字典键.

因此我想改造

{1: {'a': [1, 2, 3], 'b': [0]},
 2: {'c': [4, 5, 1], 'd': [3, 8]}}
Run Code Online (Sandbox Code Playgroud)

[1, 2, 3, 0, 4, 5, 1, 3, 8]
Run Code Online (Sandbox Code Playgroud)

我可以设置map-reduce来迭代外部字典的项目,从每个子字典构建一个子列表,然后将所有子列表连接在一起.

但是对于大型数据集而言,这似乎效率低下,因为中间数据结构(子列表)将被丢弃.有没有办法一次性完成?

除此之外,我很乐意接受一个有效的两级实现......我的map-reduce生锈了!

更新: 对于那些感兴趣的人,下面是我最终使用的代码.

请注意,虽然我在上面询问了列表作为输出,但我真正需要的是一个排序列表; 即,展平的输出可以是可以排序的任何可迭代的.

def genSessions(d):
    """Given the ipDict, return an iterator that provides all the sessions,
    one by one, converted to tuples."""
    for uaDict in d.itervalues():
        for sessions in uaDict.itervalues():
            for session in sessions:
                yield tuple(session)
Run Code Online (Sandbox Code Playgroud)

...

# Flatten dict of dicts of lists of sessions into a …
Run Code Online (Sandbox Code Playgroud)

python dictionary mapreduce data-structures

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

如何在发送数据后清空jqgrid网格?

我有一个jqgrid并在将这些网格记录发送到服务器之后我想要清空网格...我正在尝试重新加载但它不能正常工作......我正在使用它完成...但它不是空的网格网格而是它向我展示了相同的数据......我怎样才能实现它......

ajax grid jquery jqgrid

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

VBScript函数中的变量范围

我对VBScript中的变量范围有疑问.我知道有以下关键字(来自autoitscript.com):

  1. 如果变量名称不是全局存在的话,Dim = Local scope(在这种情况下,它会重用全局变量!)
  2. Global =强制在全局范围内创建变量
  3. Local =强制在Local/Function范围内创建变量

想象一下,我有以下.vbs文件:

Dim strPath

strPath = "C:\folder"

DisplayPath strPath

Sub DisplayPath(strPath) 'Does this strPath get it's own local scope?
  MsgBox strPath
End Sub
Run Code Online (Sandbox Code Playgroud)

在功能:DisplayPath(strPath)strPath一个局部变量?或者函数/ subs是否可以访问strPath脚本主要部分顶部定义的全局变量?

另外,Dim在我使用它们时明确使用而不仅仅定义变量有什么意义,这在脚本语言中是可能的?

vbscript scope

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

拒绝使用查询字符串来版本化静态文件?

似乎为了强制用户刷新缓存的静态文件(例如,.css,.js),一些站点(例如,stackoverflow.com)将查询字符串附加到文件的末尾.例如:

<link rel="stylesheet" type="text/css" href="http://sstatic.net/stackoverflow/all.css?v=9ea1a272f146">
Run Code Online (Sandbox Code Playgroud)

我认为这是一个好主意,我也倾向于开始这样做.但是,我听说有缺点,例如代理不能正确缓存文件,如果存在查询字符串.

这种版本控制的缺点是什么?

versioning caching static-content

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

Spotify桌面应用程序是用javascript开发的吗?

我已经使用Spotify一段时间了,我认为这是一个100%的原生桌面应用,直到我在应用程序中看到HTTP请求错误.

所以这让我想知道Spotify是否使用像Titanium这样的框架使用javascript开发.

有谁知道?

javascript desktop spotify

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

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

Json.NET - 没有反序列化的值类型成员?

我一直在玩Json.NET,我很喜欢它.但是,在使用值类型成员反序列化对象时遇到了问题.例如,考虑以下代码:

public struct Vector
{
    public float X;
    public float Y;
    public float Z;

    public override string ToString()
    {
        return string.Format("({0},{1},{2})", X, Y, Z);
    }
}

public class Object
{
    public Vector Position;
}

class Program
{
    static void Main(string[] args)
    {
        var obj = new Object();
        obj.Position = new Vector { X = 1, Y = 2, Z = 3 };

        var str = JsonConvert.SerializeObject(obj);

        Console.WriteLine(str); // {"Position":{"X":1.0,"Y":2.0,"Z":3.0}}

        obj = JsonConvert.DeserializeObject<Object>(str);

        Console.WriteLine(obj.Position); // (0,0,0)

        Console.ReadKey(true);
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# serialization value-type json.net

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

将行旋转到列中

假设(为了简化)我有一个包含一些控制与治疗数据的表:

Which, Color, Response, Count
Control, Red, 2, 10
Control, Blue, 3, 20
Treatment, Red, 1, 14
Treatment, Blue, 4, 21
Run Code Online (Sandbox Code Playgroud)

对于每种颜色,我想要一个包含控制和治疗数据的行,即:

Color, Response.Control, Count.Control, Response.Treatment, Count.Treatment
Red, 2, 10, 1, 14
Blue, 3, 20, 4, 21
Run Code Online (Sandbox Code Playgroud)

我想这样做的一种方法是在每个控件/处理子集上使用内部合并(在Color列上合并),但是有更好的方法吗?我在想重塑包或堆栈功能可以某种方式做到,但我不确定.

r reshape

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

Java中静态和非静态最终原始字段之间的性能差异

我最近遇到了一个声明了以下字段的类:

private final int period = 1000;
Run Code Online (Sandbox Code Playgroud)

在这个特殊的情况下,作者原本打算使它也是静态的,因为价值在任何时候都无法改变,没有真正的功能理由不宣布它是静态的,但它让我想知道Java如何对待最终vs最终的静态原语.

特别是:

1)最终的静态基元是如何存储的?它们是否只是直接编译成使用它们的表达式?

2)如果它们实际上是分配存储,那么包含类的每个实例是否必须维护对该位置的引用?(在这种情况下,对于小于4个字节的基元,该类的每个实例实际上都会比直接包含基元的情况更大,就像它在非静态情况下那样)

3)编译器现在是否足够智能,以确定在上述情况下,变量是"有效静态的",因为不可能让不同的实例包含不同的值,因此优化它与最终的静态值相似?

java static final private

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

面向对象的设计问题

如果我正在编写一个游戏,其中有一个工人切割木材(来自树木),我会在哪里放置"cutWood"方法,在工人阶级或树类?

编辑:我在OOD上看到的第一个例子是关于一个圆圈(一个叫做圆圈的类),里面有一个叫做"计算区域"的方法.现在,确定一个圆圈不会计算自己的区域.想到它的唯一方法是计算区域是一个与圆相关的操作(在圆上完成的操作)

因此,cutWood方法与工作者和树都相关.

oop

7
推荐指数
2
解决办法
734
查看次数