我有以下问题。你知道吗
我有一个对称项的列表,例如k = [-1,1,-2,2,-3,3]
。根据项目数(Ni
),我想创建另一个列表e
,使用它的方式如下:列表k
的每个项目在列表e
中最多可以生成2个项目,但是列表e
的填充有一个“顺序”。你知道吗
例如,如果我们有Ni=4
,那么e
中有4项。我将按照以下方式填充e
:k
的每个项可以“支持”2个值。由于第二个值只有在对称且对应的值被填充之后才被填充,如我们在本例中有4,e
的第一项是-1
,第二项是1
,第三项是-1
,最后第四项是1
。你知道吗
如果我有Ni=5
,第五个元素是-2
,第六个元素是2
,第七个元素是-2
,第八个元素是2
。下面的例子说明了这一点。你知道吗
我的初始代码是:
k=[-1,1,-2,2,-3,3]
Ni=input("Ni: ")
e=[]
temp = 1
for i in k:
e.append(i)
temp+=1
if temp>Ni:
break
---
然后我得到
e = [-1,1,-2,2,-3]
这个结果当然不是我想要的。下面的例子更好地说明了我的意思。你知道吗
例0:Ni = 1
名单如下:
e=[-1]
例1:Ni = 2
列表“e”将是:
e=[-1,1]
例2:Ni = 3
e=[-1,1,-1]
例3:Ni = 4
e=[-1,1,-1,1]
例4:Ni = 5
e=[-1,1,-1,1,-2]
例5:Ni = 6
e=[-1,1,-1,1,-2,2]
例6:Ni = 7
e=[-1,1,-1,1,-2,2,-2]
例7:Ni = 8
e=[-1,1,-1,1,-2,2,-2,2]
提前感谢您的帮助、想法、建议等!你知道吗
或者,一个可读性稍高的版本:
相关问题 更多 >
编程相关推荐