Count sub_列出python3中的长度
我的python是3版本。 我有一个列表,其中包含子列表,如: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
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个长度(您的示例是反向的)