python將數字放入陣列,讓它們盡量均勻的分布

2021-09-19 17:11:12 字數 1140 閱讀 8487

寫這個是因為乙個熱心的豆瓣網友給我出了個思考題。菜菜如我,思考了一下,給了乙份**。

#生成的列表

new_list =

#統計有哪些數

set_list = np.unique(list)

#統計每個數出現的次數

count_list =

for i in set_list:

#生成字典

list1 = dict(zip(set_list,count_list))

print('list1',list1)

#出現次數排序

from operator import itemgetter

list2 =[index for index,value in sorted(enumerate(list1),key=itemgetter(1),reverse=true)]

print('list2',list2)

count_number = 0

for i in list2:

if list1[i] == 1:#出現次數為1的數字

count_number += 1

elif list1[i] != 1:

k = list1[i]

count_number += k

for j in range(k):

new_list.insert(j * int(count_number/k),i)

print(new_list)

return new_list

list = [0,0,0,0,1,1,1,0,2,3,0,0,0,1,2,4]

distribution(list)

結果。

list1 

list2 [4, 3, 2, 1, 0]

[0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3]

好像還可以吧。

C 將1 100隨機不重複的放入陣列

換個思路,將1 100放入集合,從中選取數字放入結果陣列中,然後將已選過的數字從集合中移除。這樣每一次隨機都能選到數字,而不會多次拋棄隨機出來的值。int num new int 100 定義陣列 for int i 1 i 100 i arraylist al new arraylist num ...

python小技巧 將方法放入類庫中

在寫自動化指令碼的時候,常常用到一些製造資料的函式,每次引用的時候需要將檔案加到專案中,比較麻煩,推薦一種一勞永逸的方法 將自己的類方法放入類庫中 第一步 在python的 lib site packages目錄中新建乙個資料夾 命名隨意 例如 第二步 將自己寫好的python檔案放入到該資料夾下 ...

python如何將字元陣列轉為數字型陣列

有乙個數字字元的列表 numbers 1 5 10 8 想要把每個元素轉換為數字 numbers 1,5,10,8 用乙個迴圈來解決 new numbers for n in numbers int n numbers new numbers 有沒有更簡單的語句可以做到呢?numbers int x...