标签: nested

如何递归查找子项的所有ID?

我想从只有MySQL的树中获取孩子们的所有ID.

我有这样一张桌子:

ID parent_id name
1  0         cat1
2  1         subcat1
3  2         sub-subcat1
4  2         sub-subcat2
5  0         cat2
Run Code Online (Sandbox Code Playgroud)

现在我试图以递归方式获取cat1(2,3,4)的所有子ID.有什么办法可以实现吗?

mysql sql database recursion nested

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

嵌套枚举的前向声明

我有类似以下代码:

class B
{
}

class A
{
  enum {
     EOne,
     ETwo
  } EMyEnum;

  B myB;
}
Run Code Online (Sandbox Code Playgroud)

我想在类B中声明一个类型为EMyEnum的成员(在A之前声明).这可能吗?我意识到解决方案是将B类声明为秒,但为了清楚起见,我宁愿不这样做.

c++ enums nested forward-declaration

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

为什么禁止一次打开多个名称空间?

可以这样做using namespace foo::bar;(即,首先使用内部命名空间而不使用外部命名空间),为什么标准禁止执行以下操作?

namespace foo::bar {
  // open nested namespace bar in foo and extend it...
}
Run Code Online (Sandbox Code Playgroud)

我不是在寻找一种解决方法,只是为了解释为什么不允许这样做.

c++ standards nested namespaces language-lawyer

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

Python:嵌套'for'循环

我想通过所有的n位数字,这样数字的第二个数字总是低于或等于第一个数字,第三个数字低于或等于第二个等等.我可以通过写一个可怕的代码来得到这个,例如:

for i in range(10):
    for j in range(i+1):
        for k in range(j+1):
Run Code Online (Sandbox Code Playgroud)

等等,但是有了10位数字,我的代码看起来很可怕,而且这也是很多写作,如果我想赞扬其中的一些,缩进就会变得很糟糕.得到这个有一个很好,简洁的方法吗?

编辑:只是为了让人们知道我为什么这么烦,https: //projecteuler.net/problem=74让我检查1到1个数字的数字.不幸的是,它并不像我想象的那么简单 - 带有前导零的数字与内部带有零的数字区别对待,因此必须执行一些额外的魔法.无论如何,感谢所有有见地的建议.

python for-loop nested

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

将列表转换为python中的嵌套列表

可能重复:
如何在python中将列表转换为数组?

我怎样才能打开如下列表:

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

到列表列表,如:

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

即我想在列表中对有序元素进行分组,并将它们保存在有序列表中.我怎样才能做到这一点?

谢谢

python nested list

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

如何在Delphi XE2中解析嵌套的JSON对象?

我是JSON的新手,我手上有这个项目,需要我解析一个JSON并在ListView中显示它的一些内容.问题是我现在阅读的文档处理的是包含JSON数组的JSON对象,而我的案例涉及处理嵌套对象.简而言之,这里是摘要:我正在使用带有DBXJSON的Delphi XE2.我将一些值发布到服务器,并使用看起来像这样的JSON对象进行回复:

    {
    "products": {
        "Men's Sneakers": {
            "instock": false,
            "size": "423",
            "manufacturer": "Adidas",
            "lastcheck": "20120529"
        },
        "Purse": {
            "instock": true,
            "size": "not applicable",
            "manufacturer": "Prada",
            "lastcheck": "20120528"
        },
        "Men's Hood": {
            "instock": false,
            "size": "M",
            "manufacturer": "Generic",
            "lastcheck": "20120529"
       }
    },
   "total": 41,
   "available": 30
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是将每个项目(即Purse)解析并添加为listview中的标题,以及一个子项目(制造商).我创建了一个以JSON字符串作为参数的过程,创建了JSON对象,但我不知道如何进一步解析嵌套对象.

procedure TForm1.ParseString(const AString: string);
var
  json          : TJSONObject;
  jPair         : TJSONPair;
  jValue        : TJSONValue;
  jcValue       : TJSONValue;
  l,i           : Integer;
begin
    json    := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(AString),0) as TJSONObject;
  try
    //get the pair to evaluate …
Run Code Online (Sandbox Code Playgroud)

delphi json nested delphi-xe2

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

在Python中调用嵌套函数

我有一个方法,我已经打破了较小的嵌套函数来打破代码库:

def foo(x,y):
    def do_this(x,y):
        pass
    def do_that(x,y):
        pass
    do_this(x,y)
    do_that(x,y)
    return
Run Code Online (Sandbox Code Playgroud)

有没有办法单独运行其中一个嵌套函数.例如:

foo.do_this(x,y)
Run Code Online (Sandbox Code Playgroud)

编辑:

我试图在我使用pyramid_breaker构建的Web服务器上设置缓存

def getThis(request):
    def invalidate_data(getData,'long_term',search_term):
         region_invalidate(getData,'long_term',search_term)
    @cached_region('long_term')
    def getData(search_term):
         return response
    search_term = request.matchdict['searchterm']
    return getData(search_term)
Run Code Online (Sandbox Code Playgroud)

这是我的理解可能不准确:

现在我有这个的原因是装饰器用来创建缓存键的命名空间是从函数和争论中产生的.因此,您不能将装饰器放在getThis上,因为请求变量是唯一的,并且缓存是无用的.所以我创建了具有可重复args(search_term)的内部函数.

但是,要使缓存无效(即刷新),失效函数需要知道"getData"函数的范围,因此也需要嵌套.因此我需要调用嵌套函数.你们精彩的人已经说清楚它不可能,所以有人能够解释我如何用不同的结构做到这一点吗?

python nested

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

Handlebars嵌套'each'语法 - 不迭代每个元素

我在这个Javascript/JSON/Handlebars事物上是全新的,我在使用两个嵌套级别获取JSON对象时无法在Handlebars模板中工作.

我已经用JSONLint验证了JSON对象,所以它是有效的JSON代码,但我不知道我是否有正确的JSON格式来使模板正常工作.:)(我正在另一个系统中手动构建JSON.)或许它是我错误的模板的语法.这就是我希望找到的......

简短说明:此对象是目录.我有章节,然后是每章内的电影.因此,电影是每个章节元素的嵌套元素.

我希望HTML输出类似于:

Chapter1:  ChapterName
       Movie1: MovieName
       Movie2: MovieName
Chapter2:  Chaptername
       Movie1: MovieName
       Movie2: MovieName
       Movie3: MovieName
Run Code Online (Sandbox Code Playgroud)

我似乎最终只得到了一个数据实例(我的JSON对象中的最后一个元素),或者我什么都没得到.(取决于我尝试的小调整或版本.)浏览器控制台不显示任何错误.

这是我到目前为止尝试使用的所有代码(脚本,HTML,模板等):

<!DOCTYPE html>
<html>
<head>  <meta charset="UTF-8">
    <title>Handlebars Demo</title>
    <!-- dependant files -->
    <script src="Handlebars.js"></script>
</head>

<!-- template -->
<script id="template2" type="text/x-handlebars-template">
    <div>Chapter stuff:</div>
    <ul>{{#each Chapter}}
        <ol>{{@index}} {{ChapterName}}
        {{#each movies}}
            <li>Movie ID:{{movieIDnum}}</li>
        {{/each}}
        </ol>
        {{/each}}
    </ul>
</script>


<body><div id="main"></div></body>

<script>
    var source = document.getElementById('template2').innerHTML;
    var template = Handlebars.compile(source);
    var data = {
        "Chapter" : {
                "ChapterName" : "Introduction",
                "chapterNum" : "1", …
Run Code Online (Sandbox Code Playgroud)

each json nested handlebars.js

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

python"TypeError:'numpy.float64'对象不能解释为整数"

import numpy as np

for i in range(len(x)):
    if (np.floor(N[i]/2)==N[i]/2):
        for j in range(N[i]/2):
                pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
                pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)

    else:
        for j in range((N[i]-1)/2):
                pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
                pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)     
Run Code Online (Sandbox Code Playgroud)

有没有人有解决这个问题的想法?成功运行这些代码?

谢谢,
杰里米

python loops nested

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

迭代两个列表的列表理解不能按预期工作

我想迭代两个列表.第一个列表包含一些浏览器用户代理,第二个列表包含这些浏览器的版本.我想只过滤那些版本大于60的用户代理.

这是我的列表理解的样子:

[link for ver in version for link in useragents if ver > 60]
Run Code Online (Sandbox Code Playgroud)

此列表的问题是它多次打印相同的用户代理.我使用zip函数编写了以下函数,它工作正常:

for link, ver in zip(useragents, version):
    if ver > 60:
        # append to list
        print(link)
Run Code Online (Sandbox Code Playgroud)

为什么我的列表理解会返回意外结果?

python for-loop nested list-comprehension list

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