标签: nested

是否存在无限嵌套的defaultdict的标准类?

有谁知道Python中是否存在无限可嵌套字典的标准类?

我发现自己重复这种模式:

d = defaultdict(lambda: defaultdict(lambda: defaultdict(int)))
d['abc']['def']['xyz'] += 1
Run Code Online (Sandbox Code Playgroud)

如果我想添加"另一层"(例如d['abc']['def']['xyz']['wrt']),我必须定义另一个defaultdicts嵌套.

为了概括这种模式,我编写了一个简单的类来覆盖__getitem__自动创建下一个嵌套字典.

例如

d = InfiniteDict(('count',0),('total',0))
d['abc']['def']['xyz'].count += 0.24
d['abc']['def']['xyz'].total += 1
d['abc']['def']['xyz']['wrt'].count += 0.143
d['abc']['def']['xyz']['wrt'].total += 1
Run Code Online (Sandbox Code Playgroud)

但是,有没有人知道这个想法的预先实现?我试过谷歌搜索,但我不确定这会被称为什么.

python dictionary nested infinite defaultdict

11
推荐指数
3
解决办法
3323
查看次数

如何最好地处理html5中嵌套h1的样式?

我目前正在为我的一些网站制作一些HTML5主题,并且我一直遇到问题,<h1>可以多次使用.我似乎无法预测标题会显示哪些元素,但我确实想根据它们在DOM中的位置自动调整大小...

我正在考虑使用类似的东西

h1 { font-size: 3em; }
h2,
body > * > header h1 { font-size: 2.5em; }
h3,
body > * > header h2,
body > * > * > header h1 { font-size: 2em; }
Run Code Online (Sandbox Code Playgroud)

但显然这远非防水.在h1周围有一个额外的元素并不意味着它在页面结构中更深层,因此选择的方法太小了.例如,包含每个都有自己标题的块的无序列表将具有类似的功能

<section>
  <ul>
    <li>
      <header>
        <h1>Title of a block</h1>
      </header>
      content
    </li>
 </ul>
</section>
Run Code Online (Sandbox Code Playgroud)

这使得它<h1>看起来比它实际上更深.处理这个问题的好方法是什么?

css html5 nested

11
推荐指数
3
解决办法
8131
查看次数

如何在Python中将列表转换为嵌套的dict

需要转x:

X = [['A', 'B', 'C'], ['A', 'B', 'D']]
Run Code Online (Sandbox Code Playgroud)

进入Y:

Y = {'A': {'B': {'C','D'}}}
Run Code Online (Sandbox Code Playgroud)

更具体地说,我需要从绝对路径列表中创建一个文件夹和文件树,如下所示:

paths = ['xyz/123/file.txt', 'abc/456/otherfile.txt']
Run Code Online (Sandbox Code Playgroud)

其中,每个路径是split("/"),按照['A', 'B', 'C']在伪例子.

由于这表示文件和文件夹,显然,在同一级别(数组的索引)上,相同的名称字符串不能重复.

python dictionary nested list

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

嵌套的UpdatePanel导致父回发?

我的印象是,嵌套UpdatePanel中的控件将导致顶层UpdatePanel刷新(从而刷新两个UpdatePanel),因为该控件上的任何事件都充当"隐式"触发器.那是对的吗?

我一直试图连接这样的东西 -

UserControl

   Parent UpdatePanel

   "Show" button

      ASP:Panel

         Dynamically added UserControls, each with UpdatePanels
Run Code Online (Sandbox Code Playgroud)

单击"显示"按钮时,ASP:Panel变为可见,并根据某些后端逻辑动态开始将UserControls动态添加到自身.

每个动态添加的控件(以下称为UserControls)都有自己的Atlas启用按钮和链接,因此它们也有UpdatePanels.目前,当我单击其中一个UserControls中的链接时,ASP:Panel的所有内容都会消失,就好像它正在重新渲染一样.我的所有动态添加的控件都会消失,并且调试器中没有捕获任何单击事件.

我假设这里发生的事情是驻留在嵌套更新面板中的控件导致父UpdatePanel回发,因为它们触发了"隐式"触发器.有没有办法让我的UserControls自动运行而不是弄乱ASP:包含它们的面板?

如果没有,我应该采取什么策略?如果我必须在其中一个(可能很多)UserControls上发生事件时重新呈现整个ASP:Panel,这意味着我将不得不重新创建UserControls,这需要花费一些精力来创建.我还必须保留某种视图状态来重新创建它们.我对ASP.NET有些新意,这听起来令人生畏.我宁愿永远不要刷新顶级的UserControl和ASP:Panel,如果我可以避免它,并让每个动态添加的UserControls以异步方式触发和处理自己的事件.

编辑:我没有动态添加控件,而是将它们添加到标记中(不是一个糟糕的解决方案).因此摆脱了控件消失的问题,因为现在控件不是动态添加的,而是存在于标记中.但是,仍然会显示父UpdatePanel帖子,因为所有UserControl都会被发布而不是一个.如何只进行一次UserControl回发?另外,我想知道如果动态添加如何摆脱控件消失的问题?

asp.net updatepanel nested asp.net-ajax

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

c ++递归嵌套类型和名称注入

我试着用谷歌搜索没有运气,所以我在这里尝试.

我有几个类,每个类都定义一个成员struct foo.此成员类型foo本身可以继承自前一个类,因此可以获取成员类型foo.

我想foo使用模板元编程访问嵌套类型(见下文),但是c ++名称注入引入了问题,因为上层foo类型名称被注入到较低foo类型中,而上层类型名称在我想要访问较低类型时被解析,比如使用A::foo::foo.

这是一个例子:

#include <type_traits>

struct A;
struct B;

struct A {
    struct foo;
};

struct B {
    struct foo;
};

struct A::foo : B { };
struct B::foo : A { };

// handy c++11 shorthand
template<class T>
using foo = typename T::foo;

static_assert( std::is_same< foo< foo< A > >, foo< B > >::value, 
               "this should not fail (but it does)" ); …
Run Code Online (Sandbox Code Playgroud)

c++ nested code-injection typename c++11

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

ActionBar菜单项在NestedFragments中消失

由于android 4.2现在支持NestedFragment,并将其添加到支持v13.

我在经典情况下使用这个NestedFragment:创建可以左右滑动并消耗大部分屏幕空间的fragmentA,并将fragmentB和fragmentC插入到每个片段页面中.

我的问题是我在fragmentB中创建的MenuItem,而fragmentC不能在Activity的actionbar上显示.在使用NestedFragment之前,它运行良好.

android nested fragment android-actionbar

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

BIRT报告,包含来自POJO数据源的两个或三个深层嵌套表

我需要使用来自各种来源的数据生成Java中的一些按需报告,主要来自针对大型机的同步事务,因此没有数据库后端,因此没有可用的SQL.我将数据作为嵌套java对象的结构,如下图所示:

                     +-----------+
                 __/_|Accounts   |______________
                |  \ |           |              |
                |    +-----------+             /|\
 +---------+    |                          +------------+
 |Customers|____|                          |Transactions|
 |         |    |                          |            |
 |         |    |                          +------------+
 +---------+    |    +-----------+             \|/
                |__/_|Investments|______________|
                   \ |           |
                     +-----------+
Run Code Online (Sandbox Code Playgroud)

客户有一些基本的类型字段,例如id,name,address等,还有一个或两个Account或Investment对象列表,这些列表又有id,name,balance等基本类型字段和Transaction对象列表.你明白了.

例如,一份报告将列出客户的详细信息以及他/她的所有账户和投资及其余额和最新交易.

我一直在用POJO数据源探索BIRT,但是我找不到任何处理两个或三个深度嵌套表/列表的例子.BIRT教程和actuate.com中的示例似乎没有处理这种情况,它们只使用简单对象列表,所以我不确定这可以使用POJO数据源来完成.

有人能指出一个合适的例子或建议替代解决方案吗?

.


PD.我读过的一些文档:

java eclipse reporting nested birt

11
推荐指数
0
解决办法
1409
查看次数

使用php和nestable.js jquery插件更新nestet set tree

编辑:经过很好的回答@ vadim-ashikhman.问题的结尾.

我正在使用的资源:

我设法添加类别和子类别没有任何问题.

----照片数据库

我还能够使用可嵌套的jQuery库显示所有类别的菜单.

到现在为止还挺好.

菜单

现在,当我尝试通过拖放进行排序时.捕获整个数组,这是一个例子:

[{
  "id": 1,
  "children": [{
    "id": 2,
    "children": [{
      "id": 3
    }, {
      "id": 6
    }, {
      "id": 5
    }, {
      "id": 7
    }, {
      "id": 9
    }]
  }, {
    "id": 8,
    "children": [{
      "id": 10,
      "children": [{
        "id": 11
      }, {
        "id": 12
      }, {
        "id": 13
      }, {
        "id": 14
      }, {
        "id": 15
      }]
    }, {
      "id": 16,
      "children": [{
        "id": …
Run Code Online (Sandbox Code Playgroud)

php jquery nested codeigniter-2

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

如何定义动态嵌套循环python函数

a = [1]
b = [2,3]
c = [4,5,6]

d = [a,b,c]


for x0 in d[0]:
    for x1 in d[1]:
        for x2 in d[2]:
            print(x0,x1,x2)
Run Code Online (Sandbox Code Playgroud)

结果:

1 2 4
1 2 5
1 2 6
1 3 4
1 3 5
1 3 6
Run Code Online (Sandbox Code Playgroud)

完美,现在我的问题是如何定义这个功能,考虑到当然可能有更多的值列表.想法是获得功能,动态地产生相同的结果.

有没有办法向python解释:"例如,做8个嵌套循环"?

loops nested function dynamic python-3.5

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

如何在python中模拟嵌套/多层返回对象

我目前正在努力寻找一种模拟多层/嵌套返回值的好方法.换句话说,我想返回一个魔术模拟,然后返回一个带有它自己的设置返回值的魔术模拟.我发现这相对麻烦,我正在寻找一个更优雅和可维护的解决方案.

我正在尝试有效地测试以下代码.URL返回需要进一步处理的json字符串:

import json
from urllib.request import url open

def load_json():
    # first return value
    response = urlopen("http://someurl.com/api/getjson")
    # in turn, contains two nested return values for read and decode
        response_dict = json.loads(response.read().decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

到目前为止,这就是我嘲笑的方式,这非常不优雅并且使维护变得复杂:

class MyTestCase(TestCase):
    @patch('load_json_path.urlopen')
    def test_load_json(self, mock_urlopen):
        ### trying to simplify all of this
        # third nested return
        mock_decode = MagicMock(return_value='["myjsondata"]')
        # second nested return value
        mock_response = MagicMock()
        mock_response.read.return_value=mock_decode
        # first nested return value
        mock_urlopen.return_value = mock_response
        ### trying to simplify all of this            

        load_json()
Run Code Online (Sandbox Code Playgroud)

最后,我试图模拟的是来自解码函数的返回数据,它来自url …

python nested mocking

11
推荐指数
2
解决办法
5651
查看次数