python-3.x - 如何使用“for”循环来拆分值并创建字典列表?
问题描述
免责声明:我是 Python 编程的绝对初学者,所以请多多包涵。我正在为此上课,非常渴望获得帮助。
我正在创建一个程序,它可以从任何包含如下信息的文本文件中读取数据: 生产,它是水果吗(Y/N)
String: "Apple","Y""Banana","Y""Pumpkin","N""Orange","Y""Eggplant","N"...
我需要将字符串转换为如下所示的列表:
"Apple","Y"
"Banana","Y"
"Pumpkin","N"
...
之后,我必须拆分/分离这些值,以便它们可以放入一个如下所示的字典中:
{"produce": xxx,"fruit": Yes/No}
对于这个任务,有人告诉我我需要使用for循环来拆分行并创建一个字典列表。但是,我不知道如何以及在哪里放置它。
请注意,程序必须能够从任何文件中读取数据。用户还必须能够修改列出的水果/蔬菜是否确实是水果。
非常感谢您!
解决方案
非常感谢那些回答我问题的人。我能够使用以下代码正确运行它:
# Read the contents from the file first.
def get_content(filename):
f = open(filename,"r")
if f.mode == 'r':
content = f.read()
content = content.replace('"','')
return content
# Convert the contents to list of dictionaries (Y/N being a boolean).
def convert_to_list(content):
string = sorted(content.split('\n'),key=str.lower)
produce_list = []
for x in string:
a = x.split(',')
b: bool = bool('Y' in a[1])
d = dict({'produce': a[0], 'fruit':b})
restaurant_list.append(d)
return restaurant_list
我能够在站点外部的帮助下完成此操作。非常感谢大家的意见!
推荐阅读
- r - selectInput 只输出第一个选项
- android - 地理位置反应原生
- clickhouse - 在 ClickHouse 中填充物化视图超出内存限制
- python - 简化 numpy argmin 的愚蠢循环
- swift - 如果来自firebase的所有子值都为真(swift),我想写条件
- python - 尽管在标题中设置了 User-Agent,但在抓取时出现 403 错误
- swift - 当它是多行时,UILabel 填充搞砸了
- excel - 如何仅在特定单元格中计算平均值?
- scala - 如何在scala中动态处理自类型注释
- node.js - Sequelize 仅与 localhost 连接