我对这一切都很陌生,所以这可能是一个初学者的问题...但我想找到字典值的长度...但我不知道怎么做。
例如:
d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']}
我想知道是否有办法找到字典值的长度或项目数量。谢谢。
我对这一切都很陌生,所以这可能是一个初学者的问题...但我想找到字典值的长度...但我不知道怎么做。
例如:
d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']}
我想知道是否有办法找到字典值的长度或项目数量。length_key = len(d['key']) # length of the list stored at `'key'` ...
很难说你为什么想要这个,但是也许创建另一个将键映射到值长度的字典会很有用:
length_dict = {key: len(value) for key, value in d.items()}
length_key = length_dict['key'] # length of the list stored at `'key'` ...
foo
和 bar
:) - twilsoncon = len(list(dict.items())[0])
然后循环列表值。 - csar让我们进行一些实验,看看如何获取/解释字典中不同值的长度。
创建我们的测试字典,请参见列表和字典生成式:
>>> 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
获取字典中所有值的长度总和:
>>> [len(x) for x in my_dict.values()]
[0, 1, 2, 3]
>>> sum([len(x) for x in my_dict.values()])
6
要找到字典中所有值的长度,可以这样做:
lengths = [len(v) for v in d.values()]
我经常遇到的一种情况是,我有一个包含numpy数组或列表的字典,我知道它们的长度都相同,我只需要知道其中一个(例如,我正在绘制时间序列数据,每个时间序列具有相同数量的时间步)。 我经常使用以下方法:
length = len(next(iter(d.values())))
iter(d.values())
创建一个迭代器对象,该对象遍历字典的值,next
检索迭代器中的第一个对象,而 len
告诉您检索到的对象中有多少个元素。 - adamconkey让字典为:
dict={'key':['value1','value2']}
如果您知道键名:
print(len(dict[key]))
否则:
val=[len(i) for i in dict.values()]
print(val[0])
# 用于打印第一个键值或者如果所有键都有相同数量的值,则打印键值的长度。
NameError: name 'key' is not defined
的错误。 - stardustd={1:'a',2:'b'}
sum=0
for i in range(0,len(d),1):
sum=sum+1
i=i+1
print i
输出=2