我试图构建一个包含三条信息的数据结构:一个book
名称、一个page
数字和一个sentence
我现在正在做一本有两个键的字典coordinates[book][page] = sentence
。但是,我想迭代我的句子,而不必迭代book
和page
键(,因为我需要随机访问它们的顺序)
出于再现性的目的,以下是我创建的数据结构:
pages = [12, 41, 50, 111, 1021, 121]
bookCodes = ['M', 'P', 'A', 'C', 'A', 'M']
sampledSentances = ['THISISASENTANCE',
'ANDHEREISONEMOREEXAMP',
'ALLFROMDIFFERENTBOOKS',
'ANDFROMDIFFERENTPAGES',
'MOSLTYTHESAMELENGTHSS',
'BUTSOMEWILLBABITSHORT'
]
from collections import defaultdict
coordinates = defaultdict(dict)
for b, p, s in zip(bookCodes, pages, sampledSentances):
coordinates[b][p] = s
print coordinates
我实际上想做的是,用关联的book
和page
信息迭代sampledSentances
通过阅读(以及question I asked yesterday),听起来我应该构建一个iterable类对象
以下是我尝试过的方法,但我不确定如何使用它来迭代sampledSentances
,甚至不确定这是否是正确的方法:
# A class to build the object
class Sentence(object):
def __init__(self, b, p, s):
self.book = b
self.page = p
self.sentence = s
def getInfo(self):
return self.book, self.page, self.sentence
# Make a list, and append the book, page and sentence generated from the `Sentence` class
sentenceInfo = []
for b, p, s in zip(bookCodes, pages, sampledSentances):
sentenceInfo.append(Sentence(b, p, s).getInfo())
print(sentenceInfo)
我是Python的新手,任何帮助都将不胜感激
使用generator function执行此任务
相关问题 更多 >
编程相关推荐