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

如何遍历列表并将性别为male的行追加至ID_MALE列表?

解决方案:筛选包含male的数据行到新列表

首先需要说明:你提到的ID_DATA实际是列表的列表(并非字典),以下是几种实用的实现方法:

方法1:基础循环遍历(直观易懂)

# 定义原始数据列表
ID_DATA = [
    [0, "John", "male", "$2400"],
    [1, "mary", "female", "$2700"],
    [2, "janie", "female", "$6790"],
    [3, "adex", "male", "$3300"],
    [4, "julie", "female", "$5400"]
]

# 初始化存储男性数据的空列表
ID_MALE = []

# 遍历每一行数据,筛选出包含"male"的行并追加
for row in ID_DATA:
    if "male" in row:
        ID_MALE.append(row)

# 查看结果
print(ID_MALE)

方法2:列表推导式(简洁高效)

如果追求代码简洁,可以用Python的列表推导式一行完成筛选:

ID_DATA = [
    [0, "John", "male", "$2400"],
    [1, "mary", "female", "$2700"],
    [2, "janie", "female", "$6790"],
    [3, "adex", "male", "$3300"],
    [4, "julie", "female", "$5400"]
]

# 直接生成筛选后的列表
ID_MALE = [row for row in ID_DATA if "male" in row]

print(ID_MALE)

进阶优化:精准定位性别字段

如果确定性别字段固定在每行的第三个位置(Python索引为2,从0开始计数),可以直接判断该位置的值,避免行中其他字段意外包含"male"的情况:

# 循环版本
ID_MALE = []
for row in ID_DATA:
    if row[2] == "male":
        ID_MALE.append(row)

# 列表推导式版本
ID_MALE = [row for row in ID_DATA if row[2] == "male"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:39:54