5
ค้นหาระยะทางสู่ศูนย์ที่ใกล้ที่สุดใน NumPy Array
สมมติว่าฉันมีอาร์เรย์ NumPy: x = np.array([0, 1, 2, 0, 4, 5, 6, 7, 0, 0]) ในแต่ละดัชนีฉันต้องการค้นหาระยะทางถึงค่าศูนย์ที่ใกล้ที่สุด หากตำแหน่งเป็นศูนย์นั้นให้ส่งกลับศูนย์เป็นระยะทาง หลังจากนั้นเราสนใจเฉพาะระยะทางไปยังศูนย์ที่ใกล้ที่สุดซึ่งอยู่ทางขวาของตำแหน่งปัจจุบัน วิธีการไร้เดียงสาสุดจะเป็นสิ่งที่ชอบ: out = np.full(x.shape[0], x.shape[0]-1) for i in range(x.shape[0]): j = 0 while i + j < x.shape[0]: if x[i+j] == 0: break j += 1 out[i] = j และผลลัพธ์จะเป็น: array([0, 2, 1, …