我是python的新手而且我被卡住了。我一直在玩这个游戏。我试图让我的3个列表加入,当我做python时说新列表只包含1个项目。如何让它们完全合并?
这是我现在的代码:
(其中avg []是包含大量数据的数组)
q=avg[0:40]
p=avg[53:70]
u=avg[95:145]
pu=p+u
NF=[numpy.append(q,pu)]
>>>len(NF)
>>1
但所有项目的实际长度为107。 请帮忙
答案 0 :(得分:1)
如果#container {
position: absolute;
}
.div-1 {
float: left;
width: 45%;
padding: 2%;
}
.div-2 {
clear: both;
}
.div-3 {
float: right;
width: 45%;
padding: 2%;
}
是列表,则avg
,q
和p
是列表的片段,因此也是列表。在这种情况下,您可以使用add:
u
如果您需要NumPy数组,可以使用np.concatenate
:
q+p+u
我使数组变小,因此结果更容易检查。
其他替代方案包括np.hstack
和np.r_
:
In [48]: avg = np.arange(20)
In [49]: q = avg[0:4]
In [50]: p = avg[5:7]
In [51]: u = avg[9:14]
In [52]: np.concatenate([q,p,u])
Out[52]: array([ 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13])
在上面的示例中,In [53]: np.hstack([q,p,u])
Out[53]: array([ 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13])
In [54]: np.r_[q,p,u]
Out[54]: array([ 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13])
,q
和p
可能是NumPy数组或Python列表。在每种情况下都返回一个NumPy数组。
答案 1 :(得分:0)
您将数组放在另一个数组中。试试这个:
NF=numpy.append(q,pu)
答案 2 :(得分:-1)
q=avg[0:40]
p=avg[53:70]
u=avg[95:145]
pu=p+u
NF=[numpy.append(q,pu)] #problem right here just do NF = numpy.append(q,pu)
>>>len(NF)
>>1
答案 3 :(得分:-1)
好的,这将是非常慢的,也许numpy有自己的方式,但使用python方式,并提供你有一维数组,试试这个:
from itertools import chain
items = chain.from_iterable([avg[0:40], avg[53:70], avg[95:145]])
关于将返回生成器的语句,可以将其转换为报告其长度的列表。
item_list = [x for x in items]
len(item_list)