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

如何从Python列表拆分出Year Built和Floor两个子列表?

拆分Python列表为年份与楼层子列表

问题背景

你有如下Python列表:

base_list = ['Year Built 2016', 'Floor 7', 'Year Built 2019', 'Floor 23', 'Year Built 2015', 'Floor 12', 'Year Built 2006', 'Floor 8', 'Year Built 2015', 'Floor 23', 'Year Built 2015', 'Floor 28', 'Year Built 2008', 'Floor 19', 'Year Built 2014', 'Floor 3', 'Year Built 2019', 'Floor 33', 'Year Built 1997', 'Floor 31', 'Year Built 2015', 'Floor 17', 'Year Built 2015', 'Floor 33', 'Year Built 1996', 'Floor 8', 'Year Built 2009', 'Floor 3', 'Year Built 2008', 'Floor 13', 'Year Built 2006', 'Floor 30', 'Year Built 2018', 'Floor 2', 'Year Built 2008', 'Floor 34', 'Year Built 2019', 'Floor 23', 'Year Built 2022', 'Floor 31', 'Year Built 2006', 'Floor 14', 'Year Built 2021', 'Floor 7', 'Year Built 2015', 'Floor 36', 'Year Built 2015', 'Floor 10', 'Year Built 2015', 'Floor 32', 'Year Built 2015', 'Floor 26', 'Year Built 2019', 'Floor 40', 'Year Built 2015', 'Floor 8', 'Year Built 2015', 'Floor 6']

需要将其拆分为两个独立子列表:一个仅包含Year Built相关元素,另一个仅包含Floor相关元素。

你尝试代码的问题

你写的代码:

year_built_list = [i for i in base_list if base_list[i].startwith('Y')]

存在两个错误:

  • 列表推导式中i是列表的元素,不是索引,不能用base_list[i]访问,直接用i即可。
  • 字符串方法拼写错误:startwith应该是startswith。

正确实现方法

方法一:列表推导式(推荐)

直接通过元素的字符串前缀判断,生成两个子列表:

# 提取Year Built相关元素
year_built_list = [item for item in base_list if item.startswith('Year Built')]
# 提取Floor相关元素
floor_list = [item for item in base_list if item.startswith('Floor')]

方法二:循环遍历分类

如果需要更直观的逻辑,可以用普通循环实现:

year_built_list = []
floor_list = []

for item in base_list:
    if item.startswith('Year Built'):
        year_built_list.append(item)
    elif item.startswith('Floor'):
        floor_list.append(item)

两种方法都能得到你需要的两个独立子列表,列表推导式更简洁高效,适合这种简单的过滤场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:30:02