轉換爲二進制矢量我怎麼可以從:蟒蛇,從整數
a1=2
a2=3
b1=1
b2=4
二元矢量這樣的:
0,1,2,3,4
a = [0,0,1,1,0]
b = [0,1,0,0,1]
我的意思是,這裏的整數定義我在載體,其中索引它應該是'1'。最快的方法是怎麼做的?
轉換爲二進制矢量我怎麼可以從:蟒蛇,從整數
a1=2
a2=3
b1=1
b2=4
二元矢量這樣的:
0,1,2,3,4
a = [0,0,1,1,0]
b = [0,1,0,0,1]
我的意思是,這裏的整數定義我在載體,其中索引它應該是'1'。最快的方法是怎麼做的?
如何簡單地使用a1
和a2
作爲指標,像這樣:
a = [0] * 5
a[a1] = 1
a[a2] = 1
對於你的榜樣,這將是
a = [0] * 5
b = [0] * 5
a1 = 2
a2 = 3
b1 = 1
b2 = 4
a[a1] = 1
a[a2] = 1
b[b1] = 1
b[b2] = 1
你可以做這樣的事情。通過這種方式,它可以適用於每一個索引,而不需要任何超過需要的硬編碼。
oneIndexesA = [a1,a2]
oneIndexesB = [b1,b2]
a = [0] * (max(oneIndexesA) + 1)
for x in oneIndexesA:
a[x] = 1
b = [0] * (max(oneIndexesB) + 1)
for x in oneIndexesB:
b[x] = 1
如果你輸入所有這些變量,最快的方法就是輸入'[0,0,1,1,0]'......但是,我猜他們可能會來從不同的來源或不同的格式?我建議閱讀並確保你沒有陷入[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –