我想我理解其中一些。它适用于10个列表中0和1的列表。以下是列表值:
tenSpikes = [00101],[01100],[10010],[01010],[11100],[00011],[10101],[11111],[11110],[10101]
for trial in range(len(tenSpikeTrains)):
spikeTimes = [i for i,x in enumerate (tenSpikeTrains[trial]) if x==1]
问题:
for trial in range(len(tenspikes))
是对列表进行十次迭代,每次迭代都以0,1,2..等形式保存在{
列表理解是一种过滤或修改iterable以创建不同iterable的方法。这些可以很容易地转换为人们更熟悉的for循环。 你可以重写
spikeTimes = [i for i,x in enumerate(tenSpikeTrains[trial]) if x==1]
作为理解的第一部分是
i
。这是添加到列表中的值。第二部分是i, x
这是您迭代使用的两个变量。第三是enumerate(tenSpikeTrains[trial])
。这就是您正在迭代的内容。最后,if x == 1
仅在结果为true时将第一个值添加到列表中。最后一部分是可选的,如果您不想对其进行筛选,可以将其删除相关问题 更多 >
编程相关推荐