我对这一切都很新,所以这可能是一个noobie问题..但我期待找到字典值的长度......但我不知道如何做到这一点。如何找到字典值的长度
因此,例如,
d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']}
我想知道是否有一种方法,我可以找到len个或号码字典值的项目。
感谢
我对这一切都很新,所以这可能是一个noobie问题..但我期待找到字典值的长度......但我不知道如何做到这一点。如何找到字典值的长度
因此,例如,
d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']}
我想知道是否有一种方法,我可以找到len个或号码字典值的项目。
感谢
肯定。在这种情况下,你只是做:
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'` ...
+1,但“length_key”作为变量名有点误导,因为它是给定值的长度。 – user1269942 2014-10-04 06:40:14
@ user1269942 - 是的,我很难为这个名字命名。 。 。 – mgilson 2014-10-04 07:06:18
要找到所有值的长度在字典中,你可以这样做:
lengths = [len(v) for v in d.values()]
@squinguy我认为,因为字典不保留秩序这样做将不明确哪些列表项对应哪个字典条目。 – user1269942 2014-10-04 06:38:04
@ user1269942这很公平,但没有提到将值与它们的键相关联。我只是看到了所有值的长度。 – squiguy 2014-10-04 06:39:30
雅,一个公平的解释!我没有想到这一点......我只是添加了一条评论,让他们知道有含糊之处。 – user1269942 2014-10-04 06:41:06
让我们做一些实验,看看我们如何获得/解释字典中不同的字典/数组值的长度。
创建我们的测试字典,看到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
获取字典中所有值长度的总和:
>>> [len(x) for x in my_dict.values()]
[0, 1, 2, 3]
>>> sum([len(x) for x in my_dict.values()])
6
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
你可以给这个代码更多的上下文吗? – 2018-02-07 10:15:55
感谢您使用此代码段,这可能会提供一些有限的短期帮助。通过展示*为什么*这是一个很好的解决方案,并且使它对未来的读者更有用,一个正确的解释[将大大提高](// meta.stackexchange.com/q/114762)其长期价值其他类似的问题。请[编辑]你的答案以添加一些解释,包括你所做的假设。 – 2018-02-07 12:07:56
如下文所述,它不管你将与你的长度做...长度为每个键或只是一个长度的名单是什么? – user1269942 2014-10-04 06:42:52