我对所有这些都很陌生,所以这可能是一个noobie问题..但我希望找到字典值的长度...但我不知道如何做到这一点。
例如,
d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']}
我想知道有没有办法找到字典值的 len 或项数。
由于
答案 0 :(得分:27)
不确定。在这种情况下,您只需:
length_key = len(d['key']) # length of the list stored at `'key'` ...
很难说为什么你真的想要这个,但是,创建另一个将键映射到值的长度的dict可能会很有用:
length_dict = {key: len(value) for key, value in d.items()}
length_key = length_dict['key'] # length of the list stored at `'key'` ...
答案 1 :(得分:5)
让我们做一些实验,看看我们如何得到/解释字典中不同字典/数组值的长度。
创建我们的测试词典,请参阅list and dict comprehensions:
>>> my_dict = {x:[i for i in range(x)] for x in range(4)}
>>> my_dict
{0: [], 1: [0], 2: [0, 1], 3: [0, 1, 2]}
获取特定键值的长度:
>>> my_dict[3]
[0, 1, 2]
>>> len(my_dict[3])
3
获取每个键值的长度的字典:
>>> key_to_value_lengths = {k:len(v) for k, v in my_dict.items()}
{0: 0, 1: 1, 2: 2, 3: 3}
>>> key_to_value_lengths[2]
2
获取dict中所有值的长度总和:
>>> [len(x) for x in my_dict.values()]
[0, 1, 2, 3]
>>> sum([len(x) for x in my_dict.values()])
6
答案 2 :(得分:3)
要查找字典中值的所有长度,您可以执行以下操作:
lengths = [len(v) for v in d.values()]
答案 3 :(得分:1)
让字典成为:
dict={key:['value1','value2']}
如果知道键:
print(len(dict[key]))
其他:
val=[len(i) for i in dict.values()]
print(val[0])
# for printing length of 1st key value or length of values in keys if all keys have same amount of values.
答案 4 :(得分:1)
我有一个常见的用例是numpy数组或列表的字典,我知道它们的长度都相同,而我只需要知道其中一个(例如,我正在绘制时间序列数据,并且每个时间序列都有相同数量的时间步长)。我经常使用这个:
length = len(next(iter(d.values())))
答案 5 :(得分:-1)
d={1:'a',2:'b'}
sum=0
for i in range(0,len(d),1):
sum=sum+1
i=i+1
print i
OUTPUT = 2