You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取字典中嵌套列表内子列表的最大长度

解决字典嵌套列表中子列表的最大长度问题

Hey there! Let's fix this up for you—right now you're only grabbing the length of the outer lists (like 4 for key 'a'), but we need to dig one level deeper to get the sublist lengths you actually want.

核心思路

Instead of stopping at the outer lists (the values in your dictionary), we need to iterate through every sublist inside those outer lists, calculate each sublist's length, then pick the largest one.

代码实现

First, let's start with your example dictionary:

x = {'a':[[1],[1,2,3],[1],[1]], 'b':[[1],[1,2],[1],[1]], 'c':[[1],[1,2],[1],[1]]}

Here's a concise way to get the maximum sublist length using a generator expression with max():

max_sublist_length = max(len(sublist) for outer_list in x.values() for sublist in outer_list)
print(max_sublist_length)  # 输出:3

代码拆解

Let's break this down step by step:

  • x.values() grabs all the outer lists from your dictionary (e.g., [[1],[1,2,3],[1],[1]] for key 'a')
  • The first loop for outer_list in x.values() goes through each of these outer lists
  • The second loop for sublist in outer_list iterates through every sublist inside the current outer list
  • len(sublist) calculates the length of each individual sublist
  • max() takes all these lengths and returns the largest one—exactly the 3 you're looking for!

扩展:追踪来源的键和子列表

If you also want to know which key and specific sublist has this maximum length, you can modify the code to track that extra context:

max_details = max(
    (len(sublist), key, sublist)
    for key, outer_list in x.items()
    for sublist in outer_list
)

print(f"最大长度是 {max_details[0]},来自键 '{max_details[1]}' 下的子列表 {max_details[2]}")
# 输出:最大长度是 3,来自键 'a' 下的子列表 [1, 2, 3]

This way you get not just the number, but useful context for debugging or further processing!

内容的提问来源于stack exchange,提问作者Victor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:54:00