获取字典中某个键的特定值?

时间:2019-04-15 08:49:17

标签: 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())

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

7 个答案:

答案 0 :(得分:3)

在新的dict中遍历v[1]并为每个key获得dict

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}

答案 1 :(得分:2)

尝试:

mylist = [(k, v[1]) for k, v in d.items()]

答案 2 :(得分:2)

{k:v[1] for k,v in d.items()}

使用字典理解,使用原始dict的列表值中的第二个值创建新的dict

答案 3 :(得分:1)

这将帮助您:

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

答案 4 :(得分:0)

此迭代键和每个键的值

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

答案 5 :(得分:0)

>>> 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 ])

答案 6 :(得分:0)

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

  1. 仅用于从值中获取第二个元素,下面的代码将仅打印每个键的第二个元素 示例-[v [1] for d.iteritems()中的k,v] 打印[0.65,1.2,0.6]

  2. 用于获取密钥:值 {d:iteritems()中k,v的{k:v [1]} 打印{'k1':0.65,'k2':1.2,'k3':0.6}

  3. 用于同时获取第二个和第三个元素,可以完成类似的操作 {k:[v [1],v [2]] for d.iteritems()中的k,v