带一个键和多个值的字典

时间:2019-10-07 14:33:04

标签: python

我想知道我是否有办法在特定索引处提取值。假设我有一个与多个值关联的键。但是在我的字典中,我有多个键,每个键都有多个值。我想遍历键,然后遍历与该键关联的每个值。我希望能够提取第一个索引处的值并将其从第二个索引处的值中减去。

d= {108572791: [200356.77, 200358], 108577388: [19168.7, 19169]}

output for key 108572791 would be -1.33
output for key 108577388 would be -.03

我已经尝试阅读dict以及它的工作方式,显然您无法对其进行索引。我只是想知道是否有办法解决这个问题。

for key, values in total_iteritems():
    for value in values:
       value[0]-value[1]:

3 个答案:

答案 0 :(得分:3)

编辑:

由于现在的问题有所不同,我将介绍新主题:

d= {108572791: [200356.77, 200358], 108577388: [19168.7, 19169]}
for i in d:
    print("Output for key ",str(i), "would be ",(d[i][1]-d[i][0]))

输出:

Output for key  108572791 would be  1.2300000000104774
Output for key  108577388 would be  0.2999999999992724

原始答案

是的。如果要获取特定值的dict包含列表作为value,则需要在列表中寻址索引。一个例子是:

a = {'Name':['John','Max','Robert']}

这意味着:

print(a['Name']) 

输出:

['John','Max','Robert']

由于['Name']是列表:

for i in range(len(a['Name'])):
    print(a['Name'][i]

输出:

John #(Because it's the index 0)
Max #(Index = 1)
Robert #(Index = 2)

如果您想要一个特定值(例如'Max',它的索引= 1)

print(a['Name'][1]

输出:

Max

答案 1 :(得分:0)

取决于密钥中明显有多少个值,但这可以解决问题:

curl -vI

答案 2 :(得分:0)

如果要使用索引,则可以使用元组列表。

  

d = [(108572791,[200356.77,200358]),(108577388,[19168.7,19169)]

for tuple in my_list:
   print(tuple[0]) 
   for value in tuple[1]:
       print(value)