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

Python 2.7技术问询:如何筛选嵌套列表中长度非指定值的子列表

找出嵌套列表中长度不符合要求的子列表(Python 2.7)

嘿,我来帮你搞定这个问题!在Python 2.7里,要筛选出嵌套列表中长度不等于指定值的子列表,用列表推导式就能轻松实现,简洁又高效。

直接实现方案

假设你要找长度不等于3的子列表,直接用一行列表推导式就能完成:

# 你的原始嵌套列表(注意修正字符串引号的问题)
nested_list = [['abc', 'orange', 'NYC'], ['def', 'apple', 'NYC', 'USA'], ['xyz', 'california'], ['qwe', 'mango', 'USA']]
# 指定目标长度
target_length = 3
# 筛选长度不符合要求的子列表
result = [sublist for sublist in nested_list if len(sublist) != target_length]

# 输出结果
print(result)

运行这段代码后,会输出你预期的结果:

[['def', 'apple', 'NYC', 'USA'], ['xyz', 'california']]

代码解释

  • 我们用列表推导式遍历外层列表的每一个子列表sublist
  • 通过len(sublist) != target_length判断子列表的长度是否不等于指定的目标值
  • 所有符合条件的子列表会被自动收集到result列表中

封装成函数(复用更方便)

如果需要多次处理不同的嵌套列表或者目标长度,把逻辑封装成函数会更实用:

def get_sublists_invalid_length(nested_list, target_length):
    """返回嵌套列表中长度不等于target_length的子列表"""
    return [sublist for sublist in nested_list if len(sublist) != target_length]

# 使用示例
my_nested_list = [['abc', 'orange', 'NYC'], ['def', 'apple', 'NYC', 'USA'], ['xyz', 'california'], ['qwe', 'mango', 'USA']]
print(get_sublists_invalid_length(my_nested_list, 3))

这样以后无论你要找长度不等于5、7还是其他值的子列表,只需要调用这个函数并传入对应参数即可。

小提醒:你提供的示例输入里有字符串引号缺失的问题(比如['abc,'orange,'NYC']),实际写代码的时候要确保每个字符串都用单引号或双引号正确包裹,避免语法错误哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:13:47