例如在 array 陣列[[[1,2,3,3,5], [5,9,18,100,2]]]中找出裡面的不同元素
第一步就是把這個array陣列用flatten鋪平為([1,2,3,3,5, 5,9,18,100,2])
第二步就是用.tolist()進行轉列表
第三步就是用set(list)進行不同元素的提取了
import numpy as np
a = np.array([[
[1,2
,3,3
,5],
[5,9
,18,100,2
]]])
print
("a"
, a)
flatten_a = a.flatten(
)print
("flatten_a"
, flatten_a)
list_a = flatten_a.tolist(
)print
("list_a"
, list_a)
set_a =
set(list_a)
print
("set_a"
,set_a)
下面是上面**塊的各種print結果
a [[[ 1 2 3 3 5]
[ 5 9 18 100 2]]]
flatten_a [ 1 2 3 3 5 5 9 18 100 2]
list_a [1, 2, 3, 3, 5, 5, 9, 18, 100, 2]
set_a
所以set_a裡面就是陣列a裡面包含的不同元素了 如何找出 1000 以內的 完數
如果乙個數恰好等於它的因子之和,那麼這個數就被稱為 完數 如 6 1 2 3。程式設計找出 1000 以內的所有 完數 外層迴圈 998 次,每次迴圈得到的 i 傳入下個迴圈內,內部迴圈求解出符合 i 整除 k 等於 0 的數,如果能夠整除,那麼說明 k 是 i 的乙個因子,則用 sum 累加,直到...
找出陣列重複的數
1 在乙個長度為 n 的陣列裡的所有數字都在 0 n 1 的範圍內,找出任意乙個重複的數。簡明思路 按照題目要求,如果這個陣列裡面的數恰好沒有重複的數,則陣列下標跟對應的值相等。否則,當掃瞄到下標為 i 的數字時,比較這個下標的值 m 是不是等於 i 如果是,說明這個值就在它對應的下標下,繼續掃瞄 ...
51 找出重複的數
題目描述 在乙個長度為n 的陣列裡的所有數字都在0 到n 1 的範圍內,找出數 組中任意乙個重複的數字.要求 不能修改原陣列 空間複雜度為常量o 1 時間複雜度小於o n 2 複雜度時間 o nlogn 空間 o 1 思路實際上,我們可以根據抽屜原理簡化剛才的暴力法。我們不一定要依次選擇數,然後看是...