从字典的键值对中提取值

时间:2019-05-16 20:52:49

标签: python loops dictionary keyvaluepair

我有一个CSV文件,其中包含列名(第一行)和值(行的其余部分)。我想创建变量来为循环中的每一行存储这些值。因此,我首先创建了一个包含CSV文件的字典,然后获得了具有键值对的记录列表。因此,现在我想创建变量来存储从每个项目的“键”提取的“值”,并在每个记录的循环内。我不确定是否设置正确。

这是我的字典。

#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QVBoxLayout *lay = new QVBoxLayout(&w);
    QLabel *label = new QLabel("Stack Overflow");
    label->setStyleSheet("background-color:salmon;");
    QSizePolicy sp = label->sizePolicy();
    sp.setVerticalPolicy(QSizePolicy::Maximum);
    label->setSizePolicy(sp);
    lay->addWidget(label);
    for (int i=0; i<4; i++) {
        lay->addWidget(new QPushButton(QString("pushbutton-%1").arg(i)));
    }
    w.show();
    return a.exec();
}

my_dict = [{'value id':'value1', 'name':'name1','info':'info1'}, {'value id':'value2', 'name':'name2','info':'info2'}, {'value id':'value3', 'name':'name3','info':'info3'}, }] for i in len(my_dict): item[value id] = value1 item[name] = name1 item[info] = info1 value id将是唯一的,并且是列表的标识符。最终,我想创建一个name对象,即item,并且可以添加其他代码来修改item[info] = info1

1 个答案:

答案 0 :(得分:0)

尝试一下,

my_dict = [{'value':'value1', 'name':'name1','info':'info1'},
           {'value':'value2', 'name':'name2','info':'info2'},
           {'value':'value3', 'name':'name3','info':'info3'}]



for obj in my_dict:
    value = obj['value']
    name = obj['name']
    info = obj['info']

要扩展@aws_apprentice的观点,您可以通过创建一些其他变量来捕获数据

my_dict = [{'value':'value1', 'name':'name1','info':'info1'},
           {'value':'value2', 'name':'name2','info':'info2'},
           {'value':'value3', 'name':'name3','info':'info3'}]


values = []
names = []
info = []
for obj in my_dict:
    values.append(obj['value'])
    names.append(obj['name'])
    info.append(obj['info'])