首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不使用numpy数组的情况下访问python字典中的"row“元素?

如何在不使用numpy数组的情况下访问python字典中的"row“元素?
EN

Stack Overflow用户
提问于 2018-06-27 02:09:53
回答 2查看 55关注 0票数 0

我有一个字典,其中每个键对应于一个具有相同数量值的列表。我将每个列表视为一个“列”。使用每个列表中的值,我尝试编写一个线性近似函数。它可以工作,除非我遇到一个值在列表中重复的问题。当我使用indexof时,它返回一个y值,它对应于传入的x值的第一次出现,而不是实际的y值,它在自己的列表中与x值在各自列表中的索引相同。我要把我的字典变成一个数字矩阵吗?或者有没有办法使用字典来做到这一点。

代码语言:javascript
复制
def calc_target(x1, x2, type1, type2, X):
    """Uses linear approximation to return a calculated
       value for the passed in type using a target value.

    Keyword arguments:
    x1 -- first x value
    x2 -- second x value
    type1 -- type of value to be calculated
    type2 -- type of value passed in
    X -- target value
    """
    y2 = float(data[type1][data[type2].index(str(x2))])
    y1 = float(data[type1][data[type2].index(str(x1))])
    print 'X:'
    print x1
    print x2
    print 'Y:'
    print y1
    print y2
    slope = (y2 - y1)/(x2 - x1)
    print slope
    return slope * (X - x1) + y1

例如,如果我的x值是3,并且列表中对应于键2的第二个值是2,那么我如何确保我将21作为2的y值,而不是24。因为如果我使用indexof,它只会在2的第一个实例中返回相应的值,它将是24而不是21。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-27 02:28:56

如果要遍历列表,可以同时遍历这两个列表,如下所示

代码语言:javascript
复制
for value1, value2 in zip(dictionary_name[key1],dictionary_name[key2]):
    do something

这样,您就可以确定在每个列表中查看的是相同的索引。不过,您并不是直接通过值来查找它们。这有帮助吗?

票数 2
EN

Stack Overflow用户

发布于 2018-07-04 04:02:07

Numpy array是一个很好的选择,但我找不到一个不需要我重新构建整个程序的好答案。我通过更改calc_target函数的传入参数来包含index1和index2值,从而解决了这个问题。这些索引分别代表x1和x2的索引。然后,当我得到'y值‘时,我只使用这些索引值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51049117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档