Python 在字典中获取键的特定值?

Python 在字典中获取键的特定值?,python,pandas,list,dictionary,Python,Pandas,List,Dictionary,我有一本这样的字典: d = {'k1':[0.2,0.65,0.23], 'k2':[0.32,1.2,3.3], 'k3':[1.8,0.6,0.4], ...} 所以,我想得到一个键列表和列表中每个键的第二个值。我尝试过以下代码: names = list(d.keys()) values = list(d.values()) 第一行是正确的,它给出了所有键的列表,但是第二行提供了所有的值,这不是我需要的。所以我只需要每个键的第二个或第三个值。有什么建议吗?此迭代键和每个键的值 for

我有一本这样的字典:

d = {'k1':[0.2,0.65,0.23], 'k2':[0.32,1.2,3.3], 'k3':[1.8,0.6,0.4], ...}
所以,我想得到一个键列表和列表中每个键的第二个值。我尝试过以下代码:

names = list(d.keys())
values = list(d.values())

第一行是正确的,它给出了所有键的列表,但是第二行提供了所有的值,这不是我需要的。所以我只需要每个键的第二个或第三个值。有什么建议吗?

此迭代键和每个键的值

for k,v in d.items():
    print("Key: %s" %k)
    print("Values: %s" %v)
    print("-"*8)
尝试:

mylist=[k,v[1]表示k,v在d.items中] 使用字典理解从原始dict的列表值中创建第二个值的新dict

迭代dict并在新dict中获得每个键的v[1]:

输出:

这将帮助您:

names = list(d.keys())
values = [v[1] for v in d.values()]
输出:


d={k1:[0.2,0.65,0.23],k2:[0.32,1.2,3.3],k3:[1.8,0.6,0.4],…}

为了只从值中提取第二个元素,下面的代码将只打印每个键的第二个元素 示例-[v[1]表示k,v表示d.iteritems] 印刷品[0.65,1.2,0.6]

用于获取键:值 {k:v[1]表示k,d.iteritems中的v} 打印{'k1':0.65,'k2':1.2,'k3':0.6}

对于同时获取第二个和第三个元素,可以这样做 {k:[v[1],v[2]]对于k,d.iteritems中的v}


我不明白你的问题。你需要这样的列表吗:[0.65,1.2,0.6,…]?可能的重复不是用户要求的。
d = {'k1':[0.2,0.65,0.23], 'k2':[0.32,1.2,3.3], 'k3':[1.8,0.6,0.4]}

print({k:v[1] for k,v in d.items()})
{'k1': 0.65, 'k2': 1.2, 'k3': 0.6}
names = list(d.keys())
values = [v[1] for v in d.values()]
>>> import numpy as np
>>> d = {'k1':[0.2,0.65,0.23], 'k2':[0.32,1.2,3.3], 'k3':[1.8,0.6,0.4]}
>>> np.array(list(d.values()))[:,1]
array([0.65, 1.2 , 0.6 ])