Prepare > Python > Numpy > Arrays

2023. 8. 26. 12:50HackerRank-Python

 

Arrays | HackerRank

Convert a list to an array using the NumPy package.

www.hackerrank.com

 

문제


Task

You are given a space separated list of numbers.
Your task is to print a reversed NumPy array with the element type float.

Input Format

A single line of input containing space separated numbers.

Output Format

Print the reverse NumPy array with type float.

 

=> 숫자들을 인풋해줄건데, 역순으로 numpy.array에 담아 소수형으로 출력해라

 

 

 

 

코드


import numpy

def arrays(arr):
    np_arr = numpy.array(arr, float)
    return np_arr[::-1]

arr = input().strip().split(' ')
result = arrays(arr)
print(result)

 

 

 

 

노트


array[시작값:도착값:간격]

array[시작값:도착값:간격]

array[::-1]  # 처음부터 끝까지 인덱스-1 간격으로 슬라이싱

 

 

numpy.flip()

import numpy

def arrays(arr):
    np_arr = numpy.array(arr, float)
    return numpy.flip(np_arr)

arr = input().strip().split(' ')
result = arrays(arr)
print(result)
  • flip()은 요서 순서를 뒤집는 메소드

 

 

reverse()

import numpy

def arrays(arr):
    print(arr)
    arr.reverse()
    print(arr)
    
    np_arr = numpy.array(arr, float)
    return np_arr

arr = input().strip().split(' ')
result = arrays(arr)
print(result)


# ['1', '2', '3', '4', '-8', '-10']
# ['-10', '-8', '4', '3', '2', '1']
# [-10.  -8.   4.   3.   2.   1.]
  • numpy에서는 reverse()를 쓸 수 없음

 

 

이건 왜 안될까?

import numpy

def arrays(arr):
    np_arr = numpy.array(arr.reverse(), float)
    return np_arr

arr = input().strip().split(' ')
result = arrays(arr)
print(result)

# nan

 

 

 

두 번째 시도

import numpy

def arrays(arr):
    # complete this function
    # use numpy.array
    a = []
    for i in range(len(arr)):
        a.append(float(arr[-i-1]))
    
    return numpy.array(a)

      

arr = input().strip().split(' ')
result = arrays(arr)
print(result)
  • 멍청하면 고생이라더니....뒤집는 메소드좀 써라

 

 

참조


 

Python Numpy 강좌 : 제 5강 - 슬라이싱

슬라이싱

076923.github.io

 

Discussion on Arrays Challenge

Convert a list to an array using the NumPy package.

www.hackerrank.com

 

3. 파이썬 리스트 순서 뒤집기 - Codetorial

4) np.flip() vs np.flipud() vs np.fliplr() np.flip(), np.flipud(), np.fliplr() 메서드의 차이에 대해 알아봅니다. 2차원 어레이에서 세가지 메서드는 다르게 동작합니다. np.flip() vs np.flipud() vs np.fliplr(). np.flip()은

codetorial.net