我把数据存储在一个文本文件中,格式如下
counter name,coins weight,coins value,inputs corrrect
Jim,120,$1,Yes
Dwight,82,$1,No
Jim,130,$0.10,No
Dwight,82,$1,No
我使用以下代码来提取和打印数据
info = {}
with open('CoinCount.txt') as input_file:
for line in input_file:
countername, coinsweight, coinsvalue, inputscorrect = (
item.strip() for item in line.split(',', 3))
info[countername] = dict(zip(('coinsweight', 'coinsvalue', 'inputscorrect'),
(coinsweight, coinsvalue, inputscorrect)))
print('info:')
for countername, record in info.items():
print(' Counter Name %r:' % countername)
for field, value in record.items():
print(' %s: %s' % (field, value))
然而,这段代码不会打印重复的条目,我想这样做。如果有人知道如何包括重复的帮助将不胜感激
预期产量
Counter Name 'Jim':
coinsweight: 120
coinsvalue: $1
inputscorrect: Yes
Counter Name 'Dwight':
coinsweight: 82
coinsvalue: $1
inputscorrect: No
Counter Name 'Jim':
coinsweight: 130
coinsvalue: $0.10
inputscorrect: No
Counter Name 'Dwight':
coinsweight: 82
coinsvalue: $1
inputscorrect: No
会计产出
Counter Name 'Jim':
coinsweight: 130
coinsvalue: $0.10
inputscorrect: No
Counter Name 'Dwight':
coinsweight: 82
coinsvalue: $1
inputscorrect: No
提前谢谢
Python字典只能将唯一值作为键保存。你试图给相同的键不同的值,这将覆盖它们。考虑使用不同的数据结构
就像dirkssenne所说的,Python字典是一种只能保存唯一值的数据结构。因此,如果将新值赋给同一个键(只能是字符串),则会用新值覆盖旧值。 例如:
结果
保持重复的可能方法
如果要保留重复项,可以创建一个元素列表,其中每个元素都是不同的字典或使用不同的键(例如和id号,而不是国家名称),并且在打印时不考虑它
相关问题 更多 >
编程相关推荐