我有以下陣列:
x=-1
y=1
a11 = [x,1]
a12 = [y,1]
a13 = [x,2]
a21 = [y,1]
a22 = [x,2]
a23 = [y,2]
a31 = [x,1]
a32 = [y,2]
a33 = [x,2]
我需要通過以下 if-else 陳述句運行每個陣列:
votes_1 = []
votes_2 = []
if a11[1] == 1:
votes_1.append(a11[0])
else:
votes_2.append(a11[0])
如何在不為每個陣列撰寫 if-else 陳述句的情況下做到這一點?現在可以管理,但我計劃擁有 25 個這樣的陣列,我覺得有更好的方法。
uj5u.com熱心網友回復:
將您的所有投票放入一個串列中,而不是放入 25 個不同的命名變數中。
x=-1
y=1
a = [
[x,1],
[y,1],
[x,2],
[y,1],
[x,2],
[y,2],
[x,1],
[y,2],
[x,2],
]
votes_1 = [i for i, j in a if j == 1]
votes_2 = [i for i, j in a if j != 1]
你可以用votes. 例如:
votes = {
v: [i for i, j in a if j == v]
for v in (1, 2)
}
現在votes[1],與早期版本的代碼votes[2]具有相同的內容,但您可以通過更改該行來擴展它以涵蓋任意數量的不同投票選項。votes_1votes_2for v in (1, 2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/436821.html
