gpt4 book ai didi

python - 构建类以迭代返回的结构

转载 作者:行者123 更新时间:2023-12-01 09:14:11 26 4
gpt4 key购买 nike

我正在尝试构建一个包含三部分信息的数据结构:名称、号和句子

我目前正在制作一本带有两个键坐标[书][页]=句子的字典。但是,我想迭代我的句子,而不必迭代 bookpage 键(因为我需要随机访问它们的顺序)。

出于可重复性的目的,这是我正在创建的数据结构:

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

我实际上想做的是迭代 sampledSentances 以及关联的 bookpage 信息。

通过阅读(以及来自 question I asked yesterday ),听起来我应该构建一个可迭代的类对象。

这是我尝试过的方法,但我不确定如何使用它来迭代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对于这个任务

def iterSentances(bookCodes, pages, sampledSentances):
zz = list(zip(bookCodes, pages, sampledSentances))
random.shuffle(zz)
for ss in zz:
yield ss

for b,p,s in iterSentances(bookCodes, pages, sampledSentances):
print(b,p,s)

关于python - 构建类以迭代返回的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com