首页 > 解决方案 > 如何使用“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循环来拆分行并创建一个字典列表。但是,我不知道如何以及在哪里放置它。

请注意,程序必须能够从任何文件中读取数据。用户还必须能够修改列出的水果/蔬菜是否确实是水果。

非常感谢您!

标签: python-3.x

解决方案


非常感谢那些回答我问题的人。我能够使用以下代码正确运行它:

# 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

我能够在站点外部的帮助下完成此操作。非常感谢大家的意见!


推荐阅读