【问题标题】:How to get the desired value of the dictionary?如何获得字典的期望值?
【发布时间】:2017-10-23 09:15:21
【问题描述】:

首先,我是 python 新手,正在尝试创建一个动态字典:

editdistances = { r.name  :  editdistance.eval(baseline.result, r.result)}

请注意,我在 r 上方运行 for r in values:,具有 2 个实例名称和值。现在我想将值部分 (editdistance.eval(baseline.result, r.result) 附加到表

table.append(editdistances[x])

这是我尝试过的,但很确定这是错误的,因为它没有引用该值。我怎样才能修复它并且仍然知道表中每个值的名称(r.name)。

编辑:刚刚注意到editdistances = { r.name : editdistance.eval(baseline.result, r.result)} 中的另一个问题,基本上假设我有 3 个学生,student1,student 2 和 student 3。我想一次为每个学生输入 3 个成绩,使用一个循环,基本上是第一次迭代 student1 :16..第二次迭代 student1:16 student2 :12..第三次迭代 student1:16 student2 :12 student3:9..4th 迭代 student1:16,7 student2 :12 student3:9 ...等等,我怎样才能做到这一点,并且仍然能够单独参考每个年级,假设每个年级指的是不同的课程。

【问题讨论】:

    标签: python python-2.7 list dictionary


    【解决方案1】:
    editdistances = { 'r.name'  :  "editdistance.eval(baseline.result, r.result)"}
    table=[]
    for r in editdistances:
        table.append(editdistances[r])
    print (table)
    

    输出

    ['editdistance.eval(baseline.result, r.result)']
    

    【讨论】:

      【解决方案2】:

      您可以通过这种方式访问​​字典中给定键的值(假设 r 具有属性值:

      for value in r.values:
          table.append(editdistances[value])
      

      如果 values 是 r 的方法,那么还需要加括号:

      for value in r.values():
          table.append(editdistances[value])
      

      【讨论】:

        【解决方案3】:

        这看起来更像是在问如何使用字典。

        “我怎么能做到这一点,并且仍然能够单独参考每个年级,假设每个年级都指不同的课程”

        创建一个字典,将每个学生作为第一级的键。 然后每个学生都是一本字典,键名是课​​程名称,成绩作为值附加:

        students = {
                    'student1' : {'class1' : 'grade1', 'class2' : 'grade2', 'class3' : grade3'},
                    'student2' : {'class1' : 'grade1', 'class2' : 'grade2', 'class3' : grade3'},
                    'student3' : {'class1' : 'grade1', 'class2' : 'grade2', 'class3' : grade3'}
                   }
        
        for student in students:
            for class_name in student:
                # print the student's name, class name, and their grade for that class.
                print (student, class_name, students[student][class_name])
        

        鉴于您当前的问题,问题本身并没有写得那么清楚 而且您有简要提及但不允许完整描述的依赖代码/数据结构。

        请提供该依赖代码,以便我们了解您在说什么。例如,句子“I am doing this in a for loop”比 只需粘贴准确的原始代码即可。

        【讨论】:

        • 该代码无法解决我的问题,因为我希望自动填充字典,而您的函数只是静态提供值。
        • 您的问题是“获得所需的值”。不是“填充/插入/设置”,这就是为什么我说它没有写清楚。您的代码中也有一些拼写错误,并且没有定义您正在寻找的所需最终结果数据结构,或者您在代码中使用的方法的操作是什么。此外,此问题可能与以下问题重复:stackoverflow.com/questions/2468334/…
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-02
        • 1970-01-01
        • 2015-04-25
        • 1970-01-01
        • 2018-01-21
        • 2019-09-27
        • 1970-01-01
        相关资源
        最近更新 更多