【发布时间】:2019-09-29 02:31:59
【问题描述】:
我在 python 中有一个默认字典 d,其中包含两个列表,如下所示:
{
'data1': [0.8409093126477928, 0.9609093126477928, 0.642217399079215, 0.577003839123445, 0.7024399719949195, 1.0739533732043967],
'data2': [0.9662666242560285, 0.9235637581239243, 0.8947656867577896, 0.9266919525550584, 1.0220039913024457]
}
将来默认字典中可以有很多列表,例如data1、data2、data3、data4 等。我需要将默认字典的索引值相互比较。因此,对于上述默认字典,我需要检查天气 data1[0]->0.8409093126477928 是否小于 data2[0]->0.9662666242560285,其他索引也是如此,并将获胜列表索引的结果存储在单独的列表中,如下所示:
result = ['data1', 'data2', 'data1', 'data1', 'data1']
如果任何列表的长度大于其他列表,我们只需要检查最后一个索引值是否小于1。就像data1[5] 不能与data2[5] 比较,因为data2[5] 没有值,因此我们将简单地检查data1[5] 是否小于1。如果它小于 1 则我们将考虑它并将其添加到 result 否则忽略它并且不会将其保存在 result 中。
我想解决这个问题,从默认字典中提取列表到单独列表,然后使用 for 循环比较索引值,但是当我使用print(d[0]) 打印0th 索引列表时,它打印出@ 987654339@。为什么它打印空。如何比较上面的索引值。请帮忙。谢谢
【问题讨论】:
-
这可能有助于解决您的问题:How to index into a dictionary?
-
当列表比其他列表更长时,我可以澄清一下该怎么做。只有在剩下一个列表或缺少任何列表时,我们才做“小于 1”的事情吗?如果是后者,我们选择剩下的哪一个?
-
当它们相等时会发生什么?
标签: python list dictionary