如何创建Python函数处理zillow_list以提取最多两词的城市名?
处理Zillow城市名称的Python函数实现
嘿,这个需求我之前处理地址数据的时候碰到过,很容易实现的!下面给你一步步讲怎么写这个Python函数:
核心思路
我们的目标是把每个城市名限制为1或2个单词——不管原名称有多长,只保留前1到2个单词就可以了。具体步骤就是:
- 遍历输入列表里的每个城市名
- 将城市名按空格拆分成单词列表
- 截取前2个单词(如果原名称只有1个单词,就保留那1个)
- 把截取后的单词重新拼接成字符串
完整代码实现
def process_zillow_cities(zillow_list): processed_cities = [] for city in zillow_list: # 按空白字符拆分单词(自动处理多个空格的情况) city_words = city.split() # 取前1或2个单词 trimmed_words = city_words[:2] # 拼接成最终的城市名 trimmed_city = ' '.join(trimmed_words) processed_cities.append(trimmed_city) return processed_cities
测试一下效果
比如你输入这样的列表:
sample_zillow_list = ['New York City', 'Los Angeles', 'Chicago', 'San Francisco Bay Area', 'Miami Beach Shores'] result = process_zillow_cities(sample_zillow_list) print(result)
输出会是:['New York', 'Los Angeles', 'Chicago', 'San Francisco', 'Miami Beach']
小细节说明
split()不带参数时,会自动处理任意数量的空白字符(比如多个空格、制表符),所以即使原数据里有格式不规范的空格也没问题- 如果城市名本身就是1个或2个单词,函数会原封不动保留,完全符合需求
- 像
St. Louis这种带标点的城市名,split()不会拆分标点和单词,所以会被正确识别为2个单词,处理后还是St. Louis
内容的提问来源于stack exchange,提问作者berkshire
相关产品推荐
相关产品推荐

