Count sub_列出python3中的长度

Count sub_列出python3中的长度,python,python-3.x,Python,Python 3.x,我的python是3版本。 我有一个列表,其中包含子列表,如: L=[[1,2], [3,4], [5,6,7]] 我想计算所有子列表的长度,并将它们记录到字典中,如下所示: D={2:2,3:1} 也就是说,我们有两个长度为2的列表和一个长度为3的列表 可以通过for循环+检查D[键]是否存在来完成 可能存在某种“pythonic方式”使用defaultdict将列表的长度存储为键,每次只需将每个值递增1即可获得匹配的列表长度: from collections import defaul

我的python是3版本。 我有一个列表,其中包含子列表,如:

L=[[1,2], [3,4], [5,6,7]]
我想计算所有子列表的长度,并将它们记录到字典中,如下所示:

D={2:2,3:1}
也就是说,我们有两个长度为2的列表和一个长度为3的列表

可以通过for循环+检查D[键]是否存在来完成


可能存在某种“pythonic方式”

使用
defaultdict
将列表的长度存储为键,每次只需将每个值递增1即可获得匹配的列表长度:

from collections import defaultdict

d = defaultdict(int)
L = [[1,2], [3,4], [5,6,7]]

for li in L:
    d[len(li)] += 1

print(d) # defaultdict(<class 'int'>, {2: 2, 3: 1})

使用
defaultdict
将列表的长度存储为键,每次只需将每个值递增1即可获得匹配的列表长度:

from collections import defaultdict

d = defaultdict(int)
L = [[1,2], [3,4], [5,6,7]]

for li in L:
    d[len(li)] += 1

print(d) # defaultdict(<class 'int'>, {2: 2, 3: 1})

您需要迭代列表,并检查长度是否作为键存在。如果存在,则将该值递增1,否则将该值相加为1。下面是示例代码

>>> L = [[1,2], [3,4], [5,6,7]]
>>> my_len_dict = {}
>>> for item in L:
...     item_length = len(item)
...     if item_length in my_len_dict:
...         my_len_dict[item_length] += 1
...     else:
...         my_len_dict[item_length] = 1
...
>>> my_len_dict
{2: 2, 3: 1}

您需要迭代列表,并检查长度是否作为键存在。如果存在,则将该值递增1,否则将该值相加为1。下面是示例代码

>>> L = [[1,2], [3,4], [5,6,7]]
>>> my_len_dict = {}
>>> for item in L:
...     item_length = len(item)
...     if item_length in my_len_dict:
...         my_len_dict[item_length] += 1
...     else:
...         my_len_dict[item_length] = 1
...
>>> my_len_dict
{2: 2, 3: 1}

对您可以对循环使用
。你试过什么吗?你能展示一下你的作品吗?在你尝试用python的方式写它之前,你有什么作品可以用吗?此外,我认为您应该将1个列表映射为3个长度(您的示例是向后的)是的。您可以对循环使用
。你试过什么吗?你能展示一下你的作品吗?在你尝试用python的方式写它之前,你有什么作品可以用吗?此外,我认为您应该将1个列表映射为3个长度(您的示例是反向的)