我只是在尋找可以執行此類操作的想法或“Google”的名稱或學習此類想法。
給定一組陣列
a = [10,5,3,6]
我的目標是從 a 減去 3,然后分別加回 a[1]、a[2] 和 a[3]。
例子
a = [10,5,3,6]
New Result:
a = [7,8,3,6]
a = [7,5,6,6]
a = [7,5,3,9]
a = [7,6,5,6]
a = [7,6,4,7]
等等,我可以執行什么型別的實施?這個例子只針對a[0]和-3,我的最終目標是實作到a[1],a[2],a[3]和減-3的變數a[1],a[ 2] 和 a[3],并加回其他。
uj5u.com熱心網友回復:
import itertools
def my_combinations(my_list, k):
for item in itertools.product(range(k 1), repeat=len(my_list) - 1):
if sum(item) == k:
yield item, [my_list[0] - k] [n i for n, i in zip(my_list[1:], item)]
spam = [10, 5, 3, 6]
for item, lst in my_combinations(spam, 3):
print(f'{item} --> {lst}')
輸出:
(0, 0, 3) --> [7, 5, 3, 9]
(0, 1, 2) --> [7, 5, 4, 8]
(0, 2, 1) --> [7, 5, 5, 7]
(0, 3, 0) --> [7, 5, 6, 6]
(1, 0, 2) --> [7, 6, 3, 8]
(1, 1, 1) --> [7, 6, 4, 7]
(1, 2, 0) --> [7, 6, 5, 6]
(2, 0, 1) --> [7, 7, 3, 7]
(2, 1, 0) --> [7, 7, 4, 6]
(3, 0, 0) --> [7, 8, 3, 6]
uj5u.com熱心網友回復:
我認為這是您正在尋找的解決方案:
a = [10,5,3,6]
k = 3
for i in range(len(a)-1):
a[i] -= k
a[i 1] = k
print(a)
輸出:
[7, 5, 3, 9]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/368308.html
標籤:Python
上一篇:求和串列中每個元素索引的最大值
下一篇:我無法從while回圈中退出
