列表中的Python访问和汇总字典值

时间:2018-04-19 04:27:22

标签: python list loops dictionary

我想知道如何访问字典中的列表值来总结它们:

       vwBottomContainer.addEventListener("click", function(e) {
            Ti.API.info('e.source.id: ' + e.source.id);
            if (e.source.id == "CheckBox") {
                if (e.source.status == "unselected") {
                    e.source.status = "selected";
                    e.source.image = "/images/checked.png";
                } else {
                    e.source.status = "unselected";
                    e.source.image = "/images/unchecked.png";
                }
            } else if (e.source.id == "TextBox") {
                e.source.editable = true;
                e.source.focus();
            } else if(e.source.id == "radiobutton") {
                var t = null;
                for(t = 0 ; t < e.source.parent.parent.children.length; t++) {
                    e.source.parent.parent.children[t].children[0].image = "/images/radio-button_ori.png";
                    e.source.parent.parent.children[t].children[0].status = "unselected";
                    Ti.API.info('e.source: '+JSON.stringify(e.source.parent.parent.children[t].children[0]));
                }
                t = null;

                e.source.image = "/images/radio-button_active.png";
                e.source.status = "selected";
            }
        });

我想总结每个列表总和的第一个元素(3,0,57492,1)。

是否可以在没有任何循环的情况下这样做?

提前谢谢

1 个答案:

答案 0 :(得分:4)

你必须遍历整个字典,这意味着你必须使用循环。

可以简单地使用列表理解来完成:

sum([values[0] for key, values in dictionary.items()])

如果字典中的项目数量很大,那么您可以使用生成器函数代替dictionary.items()

对于Python 2.x:

for key, value in d.iteritems():

对于Python 3.x:

for key, value in d.items():

您可以在此处详细了解如何进行列表理解:Link

迭代字典:Link