我有一本这样的字典:
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())
第一行是正确的,并提供了所有键的列表,但是第二行提供了所有值,这不是我所需要的。因此,我只需要每个键的第二个或第三个值。有什么建议吗?
答案 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],...}
仅用于从值中获取第二个元素,下面的代码将仅打印每个键的第二个元素 示例-[v [1] for d.iteritems()中的k,v] 打印[0.65,1.2,0.6]
用于获取密钥:值 {d:iteritems()中k,v的{k:v [1]} 打印{'k1':0.65,'k2':1.2,'k3':0.6}
用于同时获取第二个和第三个元素,可以完成类似的操作 {k:[v [1],v [2]] for d.iteritems()中的k,v