Python 3.x Break语句不';不要打断for循环
我需要从一个文本文件创建一个嵌套字典,问题是当我需要它只获取内联断点时,内部循环获取了文件中的所有断点,因此我 如果正在读取新行但未中断循环,则添加了break语句。 我在文本文件中尝试了许多其他格式,但问题仍然存在。 python代码:Python 3.x Break语句不';不要打断for循环,python-3.x,Python 3.x,我需要从一个文本文件创建一个嵌套字典,问题是当我需要它只获取内联断点时,内部循环获取了文件中的所有断点,因此我 如果正在读取新行但未中断循环,则添加了break语句。 我在文本文件中尝试了许多其他格式,但问题仍然存在。 python代码: def create_dictionary(filename): units_dict = {} courses_dict = {} with open(filename) as f: for units in f:
def create_dictionary(filename):
units_dict = {}
courses_dict = {}
with open(filename) as f:
for units in f:
(unit_key, unit_name) = units.split(" : ")
for course in unit_name.split(", "):
(course_key, course_name) = course.split(": ")
courses_dict[course_key] = course_name
if '\n' in course:
break
units_dict[unit_key] = courses_dict
return units_dict
文本文件格式:
first : initial1: course name1, initial2: course name2
second : initial3: course name3, initial4: course name4
预期产出:
{first:{initial1: course name1, initial2: course name2},
second:{intial3: course name3, initial4: course name4}}
实际产量:
{first:{initial1: course name1, initial2: course name2, intial3: course name3, initial4: course name4},
second:{initial1: course name1, initial2: course name2, intial3: course name3, initial4: course name4}}
我对python很陌生,所以可能我犯了一个愚蠢的错误,不管怎样,如果你能帮助我,我会非常感激。
(我在不同的上下文中发布代码有类似的问题)
courses\u dict
将所有内容聚合在一起,最后每个条目都在units\u dict
中引用同一本词典。试试这个
def create_dictionary(filename):
units_dict = {}
with open(filename) as f:
for units in f:
(unit_key, unit_name) = units.split(" : ")
# each entry should have a new dict
courses_dict = {}
for course in unit_name.split(", "):
(course_key, course_name) = course.split(": ")
courses_dict[course_key] = course_name
if '\n' in course:
break
units_dict[unit_key] = courses_dict
return units_dict
courses\u dict
将所有内容聚合在一起,最后每个条目都在units\u dict
中引用同一个词典。试试这个
def create_dictionary(filename):
units_dict = {}
with open(filename) as f:
for units in f:
(unit_key, unit_name) = units.split(" : ")
# each entry should have a new dict
courses_dict = {}
for course in unit_name.split(", "):
(course_key, course_name) = course.split(": ")
courses_dict[course_key] = course_name
if '\n' in course:
break
units_dict[unit_key] = courses_dict
return units_dict