**
提取出如下列表中的二手方面积(不含“平方米”字样)和建筑年代,并将提取的信息存储到sizes变量和years变量内
**
ls=[‘1室1厅 | 44.39平方米 | 南 | 简装 - 高楼层(共6层) | 1996年建’,‘1室0厅 | 29.39平方米 | 北 - 精装修 | 低楼层(共5层) | 1957年建’,
‘2室1厅 | 56.65平方米 | 南 | 简装 - 高楼层(共6层) | 1995年建’,‘3室2厅 | 118.41平方米 | 南 - 精装修 | 低楼层(共39层)’]
// 定义sizes与years列表
sizes=[]
years=[]
#导入re模块
import re
这里可以使用for循环,使用re模块将内容分开
# for循环代码
for i in range(len(ls)):
#将每一部分内容分开
s=re.split('[-\|\n]',ls[i])
s_strip=[j.strip() for j in s]
size=re.findall(r'\d+\.?\d*',s_strip[1])[0]#使用findall()得到的是一个列表,这里取第一个元素
sizes.append(size)#将得到的数字放入先前定义列表中
if len(s_strip)==6:#判断列表长度,否则会出现越界,如果长度为5代表这个二手房没有年份
year=re.findall(r'\d+',s_strip[5])[0]
years.append(year)
接下来就可以直接打印sizes与years列表了
#打印列表
print(sizes)
print(years)
完整代码如下:
import re
sizes=[]
years=[]
ls=['1室1厅 | 44.39平方米 | 南 | 简装 - 高楼层(共6层) | 1996年建','1室0厅 | 29.39平方米 | 北 - 精装修 | 低楼层(共5层) | 1957年建',
'2室1厅 | 56.65平方米 | 南 | 简装 - 高楼层(共6层) | 1995年建','3室2厅 | 118.41平方米 | 南 - 精装修 | 低楼层(共39层)']
for i in range(len(ls)):
s=re.split('[-\|\n]',ls[i])
s_strip=[j.strip() for j in s]
size=re.findall(r'\d+\.?\d*',s_strip[1])[0]
sizes.append(size)
if len(s_strip)==6:
year=re.findall(r'\d+',s_strip[5])[0]
years.append(year)
print(sizes)
print(years)
附:结果