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

按column z列表首个元素分组column m中的值

按Z列列表首个元素分组M列值

需求:将所有Z列列表中首个元素相同的行,把对应的M列值进行分组。

示例输入

m     p   z
x001  Foo [z42, z56, z31]
x321  Bar [z589, z78, z42]
x5432 Paz [z67]
x003  Foo [z589, z78, z32, z31]
x5478 Bah [z987, z345, z52]
x098  Fin [z42, z31]
x783  Lon [z42, z210, z458, z192]

说明:M列的值唯一,其他列的值可能重复或完全匹配

期望输出

[x001, x098, x783]
[x321, x003]

注:仅保留分组后包含至少2个元素的组,单个元素的组未输出。

实现方案(Python)

用字典按Z列首个元素做键来分组,最后过滤出元素数量≥2的组即可:

# 先把输入数据解析为结构化列表(实际场景可从文件/数据库读取后处理)
data = [
    {"m": "x001", "p": "Foo", "z": ["z42", "z56", "z31"]},
    {"m": "x321", "p": "Bar", "z": ["z589", "z78", "z42"]},
    {"m": "x5432", "p": "Paz", "z": ["z67"]},
    {"m": "x003", "p": "Foo", "z": ["z589", "z78", "z32", "z31"]},
    {"m": "x5478", "p": "Bah", "z": ["z987", "z345", "z52"]},
    {"m": "x098", "p": "Fin", "z": ["z42", "z31"]},
    {"m": "x783", "p": "Lon", "z": ["z42", "z210", "z458", "z192"]},
]

# 分组逻辑
groups = {}
for row in data:
    first_z_element = row["z"][0]
    if first_z_element not in groups:
        groups[first_z_element] = []
    groups[first_z_element].append(row["m"])

# 输出符合要求的分组
for group in groups.values():
    if len(group) >= 2:
        print(group)

运行结果与期望输出一致:

['x001', 'x098', 'x783']
['x321', 'x003']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:40:48