因此,我想从文本文件中将每个字符串转换成字典,然后将每个字符串添加到列表中。但是追加模式有一些问题。
这是我的代码:
contenuto_dei_file = [
'Jund Food\nPioneer',
'Blue Moon\nModern'
'Izzet\nPioneer'
]
def parse_decks_content(contenuto):
d = {}
decks = []
for element in contenuto:
element = element.splitlines()
d["name"] = element[0]
d["formato"] = element[1]
print(d)
decks.append(d)
return decks
decks_come_dizionari = parse_decks_content(contenuto_dei_file)
print(decks_come_dizionari)
所需结果:
decks = [
{ 'name': 'Jund Food', 'formato': 'Pioneer', },
{ 'name': 'Blue Moon', 'formato': 'Modern', },
{'name': 'Izzet', 'formato': 'Pioneer'}
]
我的代码输出以下内容:
decks = [
{'name': 'Izzet', 'formato': 'Pioneer'},
{'name': 'Izzet', 'formato': 'Pioneer'},
{'name': 'Izzet', 'formato': 'Pioneer'}
]
为什么追加不只是将每个元素添加到下一个元素,而是在之前覆盖该元素?
问题来源:stackoverflow
这不是覆盖,您只有相同的字典,您应该在每次迭代中创建一个新的字典。
而是这样做:
contenuto_dei_file = [
'Jund Food\nPioneer',
'Blue Moon\nModern'
'Izzet\nPioneer'
]
def parse_decks_content(contenuto):
decks = []
for element in contenuto:
d = {}
element = element.splitlines()
d["name"] = element[0]
d["formato"] = element[1]
print(d)
decks.append(d)
return decks
decks_come_dizionari = parse_decks_content(contenuto_dei_file)
print(decks_come_dizionari)
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。