Saya perlu membuat vektor yang terdiri dari angka dari 1 hingga 100 dan setiap angka diulang 100 kali. Saya dapat menemukan solusi ini, tetapi saya harus menghindari penggunaan i,i,i,i,i,i....,i,i,i

a = np.zeros(0)
for i in range(1,100): 
    a = np.r_[a,[i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i]]
print(a) 

*Berikut adalah outputnya : [ 1. 1. 1. ... 99. 99. 99.]

2
Karim Mokdad 9 Januari 2021, 06:22

2 jawaban

Jawaban Terbaik

Anda dapat menggunakan numpy.repeat dan meneruskan i di for loop Anda:

import numpy as np
a = np.zeros(0)
for i in range(1,100): 
    a = np.r_[a,np.repeat(i, 100)]

print(a)
[ 1.  1.  1. ... 99. 99. 99.]
1
David Erickson 9 Januari 2021, 03:27

Anda dapat melakukannya dengan pemahaman daftar (lalu melemparkannya ke numpy.array jika diperlukan).

a = sum([[i] * 100 for i in range(1, 100)], [])
1
kwkt 9 Januari 2021, 03:26