使用 for 迴圈來尋找最小值並將結果保存在清單中我有三個數字列表:
a = {2,3,4,5,6}
b = {4,5,7,2,1}
c= {9,6,4,6,2}
我想從 3 個列表中取出每個索引的最小值,並將其轉換為一個列表,例如 d。所以 d = {2,3,4,2,1}。
我開始的循環是:
分鐘= {};
對於(i = 1, i = 6, i++,
分鐘 = {a[i], b[i], c[i]};
minval = 最小值(分鐘);
minsl=插入(minsl,minval,i);
if(n 項(minsl)==5,break()); // 新增這一行是為了停止循環,因為它被卡住了
);
輸出是 minsl = {1,1,1,1,1} 即被困在僅存儲列表中的最後一個條目(並且敵人永遠沒有斷線),而它應該是 {2,3,4, 2,1 }
有什麼建議如何修復嗎?謝謝!
自動化和腳本編寫回覆:使用 for 迴圈尋找最小值並將結果保存在清單中沒想到這個,好主意,謝謝!
回覆:使用 for 迴圈尋找最小值並將結果保存在清單中謝謝!:)
回覆:使用 for 迴圈尋找最小值並將結果保存在清單中您也可以使用矩陣 + V Min() (請記住對程式碼進行註釋,以便在需要時更容易理解)
Names Default To Here(1);
a = {2, 3, 4, 5, 6};
b = {4, 5, 7, 2, 1};
c = {9, 6, 4, 6, 2};
m = Matrix(a)` |/ Matrix(b)` |/ Matrix(c)`;
d = As List(V Min(m)`); // {2, 3, 4, 2, 1}
回覆:使用 for 迴圈尋找最小值並將結果保存在清單中你的 For() 循環
For( i = 1, i = 5, i++,
需要是
For( i = 1, i <= 5, i++,
然後它似乎按照你想要的方式工作
names default to here( 1 );
a = {2, 3, 4, 5, 6};
b = {4, 5, 7, 2, 1};
c = {9, 6, 4, 6, 2};
minsl = {};
For( i = 1, i <= 5, i++,
mins = a[i] || b[i] || c[i];
minval = Minimum( mins );
Insert Into( minsl, minval );
);回覆:使用 for 迴圈尋找最小值並將結果保存在清單中a = {2, 3, 4, 5, 6};
b = {4, 5, 7, 2, 1};
c = {9, 6, 4, 6, 2};
minsl = {};
i = 1;
mins = {a[i],b[i],c[i]};
minval = minimum(mins);
insert into (minsl,minval,i);
i=2;
mins = {a[i],b[i],c[i]};
minval = minimum(mins);
insert into (minsl,minval,i);
i = 3;
mins = {a[i],b[i],c[i]};
minval = minimum(mins);
insert into (minsl,minval,i);
i = 4;
mins = {a[i],b[i],c[i]};
minval = minimum(mins);
insert into (minsl,minval,i);
minsl即上面的方法有效,但是當我有更長長度的清單時,我希望有一個循環工作
回覆:使用 for 迴圈尋找最小值並將結果保存在清單中謝謝!但這似乎並沒有保留順序。本質上,我需要從 3 個列表的第一個索引中取出最小值,然後將其儲存在列表中(保留順序)
a = {2, 3, 4, 5, 6};
b = {4, 5, 7, 2, 1};
c = {9, 6, 4, 6, 2};
minsl = {};
for(i = 1, i = 5, i++,
mins = {a[i],b[i],c[i]};
minval = minimum(mins);
insert into (minsl,minval,i);
If(n items(minsl)==5, break());
);如果您運行上面的程式碼,忽略實際循環並執行 i=1,然後僅執行循環內部,然後將 i=2 並運行循環內部,則它可以工作(您將看到 minsl = {2, 3} )但由於某種原因循環無法正確循環併中斷
回覆:使用 for 迴圈尋找最小值並將結果保存在清單中這是我處理這個問題的方法
names default to here(1);
a = {2, 3, 4, 5, 6};
b = {4, 5, 7, 2, 1};
c = {9, 6, 4, 6, 2};
a1= sortlist(a);
remove from(a1,3,n=length(a)-2);
b1= sortlist(b);
remove from(b1,3,n=length(b)-2);
c1= sortlist(c);
remove from(c1,3,n=length(c)-2);
d=a1||b1||c1;
另外,請使用輸入腳本程式碼時預覽視窗頂部的圖示。它可以讓讀者更輕鬆地閱讀程式碼。