以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
根据您提供的详细需求和示例,我可以帮您设计一个Python脚本,用于处理和统计二手房数据。以下是脚本的基本框架和实现逻辑:
import re
# 假设data是包含所有房源信息的列表
data = [
# 这里是从文件解析出来的数据列表,每个元素是一个包含房源信息的字典
]
def find_by_keyword(data, keyword):
results = [item for item in data if re.search(keyword, item['小区'])]
return results if results else '未找到相关数据'
def lowest_total_price(data, k):
sorted_data = sorted(data, key=lambda x: x['价格(万元)'])
return [item for item in sorted_data[:k]]
def largest_area(data, k):
sorted_data = sorted(data, key=lambda x: x['面积(m)'], reverse=True)
return [item for item in sorted_data[:k]]
def lowest_unit_price(data):
data = [(int(item['价格(万元)']), int(item['面积(m)'])) for item in data]
if not data:
return '未找到相关数据'
min_price_per_m2 = min(data, key=lambda x: x[0] / x[1])
return data[[data.index(min_price_per_m2)]]
def average_price_for_rough_elevator_houses(data):
rough_elevator_houses = [item for item in data if item['装修情况'] == '毛坯' and item['电梯'] == '有电梯']
if not rough_elevator_houses:
return '无数据'
total_price = sum(int(item['价格(万元)']) for item in rough_elevator_houses)
total_area = sum(int(item['面积(m)']) for item in rough_elevator_houses)
return total_price / total_area
def count_houses_by_year(data, year):
count = sum(1 for item in data if item['年份'] == str(year))
return f'{count}套' if count else '无数据'
# 示例:如何使用这些函数
def main():
n = input().strip()
if n == '最低总价':
k = int(input())
print(*lowest_total_price(data, k), sep='\n')
elif n == '最大面积':
k = int(input())
print(*largest_area(data, k), sep='\n')
elif n == '最低单价':
print(*lowest_unit_price(data), sep='\n')
elif n == '毛坯电梯房单价':
print(average_price_for_rough_elevator_houses(data))
elif n == '年份':
year = int(input())
print(count_houses_by_year(data, year))
else:
print(find_by_keyword(data, n))
if __name__ == '__main__':
main()
请注意,这个脚本需要您将数据以适当的格式填充到data列表中。在实际应用中,您可能需要编写额外的代码来从文件中解析数据并填充到这个列表中。
关于参考资料,我建议您查阅以下资源以获取更多关于Python数据处理和文件操作的帮助:
- Python官方文档:https://docs.python.org/3/
- Python正则表达式文档:https://docs.python.org/3/library/re.html
- Python排序函数文档:https://docs.python.org/3/tutorial/datastructures.html#sorting
希望这个脚本能够满足您的需求。如果您有任何问题或需要进一步的帮助,请随时告诉我。
