我需要对列表进行一些奇怪而复杂的计算。我已经尝试过并且已经尽力启动并运行它,但是它遇到了错误。更好的说法是很难实现该行为。
我有以下列表。
$reply = $this->client->oauth_requestToken(array('oauth_callback' => $this->clientCallback));
我有这段代码,但没有真正起作用:
A = [1,1,1,2,2,2]
B = [3,3] # B list is length of numbers 1 and 2.
E = [10,10]
C = 1
D = []
解释以取得成果。
我希望有一个for循环,该循环可以将值附加到我的空列表中,该列表以 for k in B:
for j in E:
for i in range(len(A)-k):
print(i)
if i == 0:
D.append(C)
else:
D.append(C+(E[k]))
print(D)
,{ {1}}。并查看B[0]= 3
,即。在列表A中选择后3个值,然后do something with first 3 values
并将其全部附加以清空列表。
前3个值:
当选择B[1]= 3
时,我想拥有do something to them
,并且在A[0]
和D[0] = C
的情况下,A[1]
应该是A[2]
并且B list
。
最后3个值:
当选择B[1]= C + 1*E[0]
时,我想拥有B[2]= C + 2*E[0]
,并且在A[3]
和D[3] = C
的情况下,A[4]
应该是A[5]
并且B list
。
预期输出:
B[4]= C + 1*E[1]
如果要将A列表更改为A = [1,1,2,2]和B = [2,2]或其他内容,我想以编程方式获取它。
答案 0 :(得分:1)
初始化列表
A = [1,1,1,2,2,2]
B = [3,3] # B list is length of numbers 1 and 2.
E = [10,10]
C = 1
D = []
我们要从0的第一时间开始算起A
,从上一个开始的下一次算起,再加上已经使用了多少项,因此我们初始化start
start = 0
我们在b
的元素B
上开始循环,在k
中对其进行计数,从A
中提取所需的元素,并更新该元素的起始位置下一关
for k, b in enumerate(B):
sub_A = A[start:start+b]
start = start+b
现在,子列表的元素a
上有一个内部循环,用i
对其进行计数,请注意,对于第一项i
为零,因此我们附加了{{1 }},按要求
C+0*E[k]=C
在没有我的评论的情况下查看所有内容
for i, _ in enumerate(sub_A):
D.append(C+i*E[k])