gpt4 book ai didi

python - 如何初始化并附加到空的二维列表?

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:59 26 4
gpt4 key购买 nike

只是一个简短的逻辑难题:我正在尝试实现 4 个主计数器。每个主计数器中都存在子计数器。我通过创建一个 2D 列表来完成此操作。

因此,当收集到触发器时,它会将一个子计数器附加到每个主计数器中并允许其开始计数。例如,在第 4 个主计数器中,不能有超过 4 个子计数器,并且每个子计数器只能存在 240 个周期(因此是窗口条件)。第二主计数器中只能有2个子计数器,每个计数器只能计数25个时钟周期

到目前为止我有这个:

def l1a(self):
for x in xrange(len(self.counter)) :
self.counter[x].append([0])
"Triggered"
print self.counter

def counterReset(self):
for j in xrange(len(self.counter)):
print self.counter
for k in xrange(len(self.counter[j])):
print self.counter[j][k]
if ((self.counter[j][k]) / self.window[j]) == 1:
self.counter[j].pop(k) #delete counter
print self.counter
#print self.counter

def triggerRules(self):
breakMe = False
while breakMe == False:
for i in xrange(len(self.counter)):
if len(self.counter[i]) > i:
breakMe = True
break

if breakMe == False:
self.l1a()


def triggerClk(self):
for i in xrange(len(self.counter)):
for j in xrange(len(self.counter[i])):
self.counter[i][j] += 1

def myClk(self):
self.counterReset()

self.clk += 1
self.triggerClk()

nRand = random.randrange(0, self.max_word)


if nRand < self.frequency :
#print "Trying trigger"
self.triggerRules()

但它只给我一个输出:

[[[0]], [[0]], [[0]], [[0]]]
[[[0]], [[0]], [[0]], [[0]]]
[0]
Traceback (most recent call last):
File "mp7trigsim.py", line 49, in <module>
if __name__ == '__main__':main()
File "mp7trigsim.py", line 27, in main
trig = TriggerGen(i, max_word, clkCycles)
File "TriggerGen.py", line 23, in __init__
self.myClk()
File "TriggerGen.py", line 60, in myClk
self.counterReset()
File "TriggerGen.py", line 37, in counterReset
if ((self.counter[j][k]) / self.window[j]) == 1:
TypeError: unsupported operand type(s) for /: 'list' and 'int'

我如何获得它,以便它只初始化 4 个主计数器,然后让我附加和弹出它们?

我想我需要从以下开始:

[[0], [0], [0], [0]]

最终想象一下如果所有的计数器都在滴答作响:

[[0,1], [1,12,1,13], [11,24,5,2], [22,43,24,56]]

我确信我错过了一些微妙的东西?

最佳答案

您可以看到 TypeError 之前的语句打印了一个列表 - 这就是您收到错误 list/int 的原因。你的诊断打印显示你的嵌套是三层而不是两层。在 l1a 中尝试附加 0 而不是 [0]

关于python - 如何初始化并附加到空的二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421035/

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