Python使用两个列表生成带有值的新列表

时间:2015-02-11 04:43:45

标签: python

我有这两个清单:

occurrence = [2,1,3,1,4,...]
dates = [2.4, 1.5, 30, 5.6,4, 8, 32, ...]

结果:

list1 = [2.4, 1.5]
list2 = [3.0]
list3 = [30, 5.6,4]
...

我不知道每个列表有多大,但我需要提取日期列表的值,具体取决于事件中每个项目的值并放入新闻列表中。我是python的新手,谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

我认为这样的事情就足够了:

previous = 0
lists = []
for quantity in ocurrence:
    lists.append(dates[previous:previous+quantity])
    previous += quantity
print lists

答案 1 :(得分:0)

您可以使用array[START:STOP]切片数组(查看更多样本tutorial):

>>> p = 0
>>> for i in occurrence:
...     print dates[p:p+i]
...     p += i

[2.4, 1.5]
[30]
[5.6, 4, 8]
[32]
[]

它不依赖于哪个数组更长,无论如何它都会起作用。正如你在第4次迭代中看到的那样,你得到一个空数组,因为dates数组中没有任何内容。