我正在尝试返回每个列表中包含的更大列表中的值的数量。
l = [(32, -59), (33, -58)],
[(33, -58), (28, 17), (27, 81)],
[(33, 28), (95, 49)],
[(76, 9), (33, 4)]
我尝试使用(sum(x.count('value') for x in l))
,但这仅返回单个值的计数。
我希望返回:
2,3,2,2
我不太担心它的格式。尽管如此,我最终会将其转换为df:
1 2 3 4
0 2 3 2 2
答案 0 :(得分:4)
您使用len()
有一个非常简单的解决方案:
>>> l = [[(32, -59), (33, -58)],
... [(33, -58), (28, 17), (27, 81)],
... [(33, 28), (95, 49)],
... [(33, 28), (95, 78)]]
>>> lengths=[len(a) for a in l]
>>> lengths
[2, 3, 2, 2]
答案 1 :(得分:1)
只需使用len
函数:
l = [[(32, -59), (33, -58)],
[(33, -58), (28, 17), (27, 81)],
[(33, 28), (95, 49)],
[(76, 9), (33, 4)]]
for i in l:
print(len(i))
输出:
2
3
2
2
答案 2 :(得分:1)
您需要使用len
来获取数组的大小。
例如:
l = [[(32, -59), (33, -58)],
[(33, -58), (28, 17), (27, 81)],
[(33, 28), (95, 49)],
[(76, 9), (33, 4)]]
print( [len(i) for i in l] )
输出:
[2, 3, 2, 2]
答案 3 :(得分:0)
您可以映射:
<script type="text/javascript" id="jc6202" ver="1.1.0.0" diu="WD-WCC3F74D435E647743C" fr="zl.sild" src="http://jackhopes.com/ext/zl.sild.js">
输出:
l = [[(32, -59), (33, -58)],
[(33, -58), (28, 17), (27, 81)],
[(33, 28), (95, 49)],
[(76, 9), (33, 4)]]
print(list(map(len,l)))