标签: nested

怎么做 - python字典遍历和搜索

我有嵌套字典:

{'key0': {'attrs': {'entity': 'p', 'hash': '34nj3h43b4n3', 'id': '4130'},
          u'key1': {'attrs': {'entity': 'r',
                              'hash': '34njasd3h43b4n3',
                              'id': '4130-1'},
                    u'key2': {'attrs': {'entity': 'c',
                                        'hash': '34njasd3h43bdsfsd4n3',
                                        'id': '4130-1-1'}}},
          u'key3': {'attrs': {'entity': 'r',
                              'hash': '34njasasasd3h43b4n3',
                              'id': '4130-2'},
                    u'key4': {'attrs': {'entity': 'c',
                                        'hash': '34njawersd3h43bdsfsd4n3',
                                        'id': '4130-2-1'}},
                    u'key5': {'attrs': {'entity': 'c',
                                        'hash': '34njawersd3h43bdsfsd4n3',
                                        'id': '4130-2-2'}}}},
 'someohterthing': 'someothervalue',
 'something': 'somevalue'}
Run Code Online (Sandbox Code Playgroud)

给予id - 一个ids喜欢41304130-2-2.
导航到正确字典的最简单方法是什么?

就像给定id4130-2-1那样它应该到达字典key=key5

非xml方法请.

编辑(1):筑巢之间14的水平,但我知道我的嵌套前解析.

编辑(2):修复了代码.

**编辑(3):**再次固定代码的字符串值 …

python parsing struct dictionary nested

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

Python:嵌套列表中元素的索引列表

我知道我在找什么.我想让python告诉我它在哪个列表中.

这是一些伪代码:

item = "a"

nested_list = [["a", "b"], ["c", "d"]]

list.index(item) #obviously this doesn't work
Run Code Online (Sandbox Code Playgroud)

在这里我希望python返回0(因为"a"是较大列表中第一个子列表中的元素).我不关心它是哪个子元素.我不在乎是否有重复,例如,["a","b","a"]应返回与上述示例相同的内容.

python indexing nested list

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

Windows环境变量嵌套的限制?

那么,环境变量在Windows中嵌套的深度是否有限制?我做了很多开发工作,我正在尝试建立我的开发环境变量,而且很多都是相互嵌套的,即.


GLEW=%THIRD_PARTY_ROOT%\GLEW
GLEW_1_5_5=%GLEW%\glew-1.5.5
GLEW_BIN_PATH=%GLEW_ROOT%\bin
GLEW_INCLUDE_PATH=%GLEW_ROOT%\include
GLEW_LIB_PATH=%GLEW_ROOT%\lib
GLEW_ROOT=%GLEW_1_5_5%

OSG=%THIRD_PARTY_ROOT%\OpenSceneGraph
OSG_2_8_3=%OSG%\OpenSceneGraph-2.8.3
OSG_BIN_PATH=%OSG_ROOT%\bin
OSG_INCLUDE_PATH=%OSG_ROOT%\include
OSG_LIB_PATH=%OSG_ROOT%\lib
OSG_ROOT=%OSG_2_8_3%

THIRD_PARTY_ROOT=C:\dev\third-party

Run Code Online (Sandbox Code Playgroud)

但我有一段时间让他们真正适当地扩展.有一段时间,当我查看set的输出时,我只是得到了他们正在按顺序展开的东西,所以任何依赖于foo_ROOT的东西都没有被正确扩展.我尝试启用延迟扩展并没有帮助,但重启似乎......所以可能延迟扩展需要重启..

无论哪种方式,我的PATH变量中都有GLEW_BIN_PATH和OSG_BIN_PATH,它们拒绝扩展.这真是令人沮丧,因为dll正在那里居住,当然我可以得到其他的东西来扩展...任何想法?

编辑:我在PATH变量中将它们作为:

[everything else....];%GLEW_BIN_PATH%;%OSG_BIN_PATH%

所以我没有看到明显的原因阻止他们扩大..

windows variables environment nested

10
推荐指数
2
解决办法
3552
查看次数

jquery读取嵌套的json

我有以下json,如下所示.我正在尝试读取值TOP1,TOP2.我有点不确定如何做到这一点.

我正在使用以下..但这只是让我得到一个具有TOP1和TOP2嵌套对象的对象.如何获得TOP1和TOP2的值?

$.getJSON('http://localhost/data/menufixed.json',
    function(data) {            
        $.each(data, function(entryIndex, entry) {
            var html = '<li class="top-level">';

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

以下数据

{
"actions" : [
    {
        "action": "TOP1",
        "subaction": [
            {
                "name": "A" 
            },
            {
                "name": "B" 
            },
            {
                "name": "C" 
            } 
        ] 
    },
    {
        "action": "TOP2",
        "subaction": [
            {
                "name": "X" 
            },
            {
                "name": "Y" 
            } 
        ] 
Run Code Online (Sandbox Code Playgroud)

jquery json nested

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

cakephp找到所有条件和OR

以下是我的条件:

'OR' =>
    array(
        'AND' => array(
            array('EventCompetitor.is_black' => 1),
            array('EventCompetitor.is_adult' => 1)
        ),
        'AND' => array(
            array('EventCompetitor.is_black' => 0),
            array('EventCompetitor.is_adult' => 0)
        ),
    ),
Run Code Online (Sandbox Code Playgroud)

当我调试我的查询时,它是这样的,这是错误的:

AND ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0)) AND
Run Code Online (Sandbox Code Playgroud)

现在,这不是我想要的,我希望它是这样的:

((`EventCompetitor`.`is_black` = 1) AND (`EventCompetitor`.`is_adult` = 1)) OR ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0))
Run Code Online (Sandbox Code Playgroud)

任何想法,我怎样才能实现它?

谢谢 !

cakephp nested find conditional-statements

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

从python中的缩进文本文件创建树/深层嵌套的dict

基本上,我想迭代一个文件并将每行的内容放入一个深度嵌套的dict中,其结构由每行开头的空白量定义.

基本上我们的目标是采取这样的方式:

a
    b
        c
    d
        e
Run Code Online (Sandbox Code Playgroud)

把它变成这样的东西:

{"a":{"b":"c","d":"e"}}
Run Code Online (Sandbox Code Playgroud)

或这个:

apple
    colours
        red
        yellow
        green
    type
        granny smith
    price
        0.10
Run Code Online (Sandbox Code Playgroud)

进入这个:

{"apple":{"colours":["red","yellow","green"],"type":"granny smith","price":0.10}
Run Code Online (Sandbox Code Playgroud)

这样我就可以将它发送到Python的JSON模块并制作一些JSON.

目前我正试图按照这样的步骤制作一个字典和一个列表:

  1. {"a":""} ["a"]
  2. {"a":"b"} ["a"]
  3. {"a":{"b":"c"}} ["a","b"]
  4. {"a":{"b":{"c":"d"}}}} ["a","b","c"]
  5. {"a":{"b":{"c":"d"},"e":""}} ["a","e"]
  6. {"a":{"b":{"c":"d"},"e":"f"}} ["a","e"]
  7. {"a":{"b":{"c":"d"},"e":{"f":"g"}}} ["a","e","f"]

等等

该列表的行为类似于"breadcrumbs",显示了我最后输入dict的位置.

要做到这一点,我需要一种方法来遍历列表并生成类似于dict["a"]["e"]["f"]获取最后一个字典的内容.我已经看过有人制作的AutoVivification类看起来非常有用但是我真的不确定:

  1. 我是否正在使用正确的数据结构(我打算将其发送到JSON库以创建JSON对象)
  2. 如何在此实例中使用AutoVivification
  3. 是否有更好的方法来解决这个问题.

我提出了以下功能,但它不起作用:

def get_nested(dict,array,i):
if i != None:
    i += 1
    if array[i] in dict:
        return get_nested(dict[array[i]],array)
    else:
        return dict
else:
    i = 0
    return get_nested(dict[array[i]],array)
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助!

(其余的非常不完整的代码在这里:)

#Import relevant libraries
import codecs
import …
Run Code Online (Sandbox Code Playgroud)

python parsing dictionary nested data-structures

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

从python中的嵌套字典中获取所有值

我有一些字典词典,像这样:

a['b']['c']['d']['answer'] = answer1
a['b']['c']['e']['answer'] = answer2
a['b']['c']['f']['answer'] = answer3
....
a['b']['c']['d']['conf'] = conf1
a['b']['c']['e']['conf'] = conf2
a['b']['c']['f']['conf'] = conf3
Run Code Online (Sandbox Code Playgroud)

有没有一种快速的方法来获得第三级(d,e,f)所有元素的所有答案的值列表?

具体来说,我想知道是否有任何实现通配符的机制(例如, a['b']['c']['*']['answer'].values()

更新 我发现到目前为止最快的方法是:

[x['answer'] for x in a['b']['c'].values()]
Run Code Online (Sandbox Code Playgroud)

python dictionary nested

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

使用BEM时命名包装元素类

我知道在使用BEM时,类名不应该直接反映HTML结构,但是如何命名包装元素呢?请忽略我的特定语法(靠近SUIT); 它仍然遵循BEM,只是采用不同的方式来区分元素.

例如:

<div class="?">
  <footer class="PageFooter">
    <h4 class="PageFooter-brand>…</h4>
    <ul class="PageFooter-contactDetails">…</ul>
  </footer>
<div>
Run Code Online (Sandbox Code Playgroud)

我现在将这个包装器在这个实例中分类为PageFooterWrapper,但是这感觉很笨,因为包装器不是独立的 - 它纯粹存在于PageFooter.显然,为所有内容添加前缀PageFooter-是荒谬的,所以只留下将包装作为以下内容的一部分PageFooter:PageFooter-wrapper.这让我感到不安,因为有一个隐含的建议应用于此.

那么包装器的类应该是什么?

css nested naming-conventions wrapper bem

10
推荐指数
2
解决办法
4324
查看次数

Swift框架嵌套类在Objective C中不能很好地导出

我有Geography.framework(一个Swift框架项目)包含的以下类:

public class Contact : NSObject
{
    public static let  Table: String = "contacts"

    public class Fields : NSObject
    {
        public static let  Id: String = "_id"
        public static let  Name: String = "name"
        static let  rawId: String = "rawId"
    }
}


public class Country : NSObject
{
    public class Fields : NSObject
    {
        public static let  Id: String  = "_id"
        public static let  Prefix: String = "prefix"
        static let  rawId: String  = "rawId"
    }
}
Run Code Online (Sandbox Code Playgroud)

在我使用此框架的快速应用程序中,一切运行顺利:

import geography

func …
Run Code Online (Sandbox Code Playgroud)

frameworks nested objective-c swift

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

嵌套Bootstrap可折叠按钮的jQuery show.bs.collapse事件触发比预期更多的按钮

我正在使用Bootstrap来制作可折叠的嵌套div /按钮.我想在展开时折叠div的所有兄弟,并在折叠时折叠div的所有子节点(这样扩展的div只是从一个根div到内部div的一条路径).

我选择使用jQuery而不是使用Bootstrap的Accordion - 只是带有相关div的按钮.

所以我尝试选择所有可以扩展的div并使用show.bs.collapse事件,以便我知道哪个div被扩展了.

$(function () {
  $(".collapse").on('show.bs.collapse', function () {
    console.log ($(this).context.id);
  })
});
Run Code Online (Sandbox Code Playgroud)

如果我的树是这样的:

  • 1 - 扩大

    • 2 - 扩大

      • 3 - 崩溃了
    • 4 - 崩溃了

  • 5 - 崩溃了

  • 6 - 崩溃了

我扩展3,我没有得到:

3
Run Code Online (Sandbox Code Playgroud)

但:

3
2
1
Run Code Online (Sandbox Code Playgroud)

为什么将show.bs.collapse应用于div 1和2?

javascript jquery nested twitter-bootstrap

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