[Python] 문자열을 특정 개수로 묶어서 배열을 만들기
'0a21a0b2' 이런 문자열이 있으면 n개 씩 묶어서 ['0a', '21', 'a0', 'b2'] 이렇게 만드려면, hex_str = '0a21a0b2d40a20b2d4aa2caa2c0d' length = 2 hex_list = [hex_str[0 + i:length + i] for i in range(0, len(hex_str), length)] print(hex_list) 결과 ['0a', '21', 'a0', 'b2', 'd4', '0a', '20', 'b2', 'd4', 'aa', '2c', 'aa', '2c', '0d'] 위 소스에서 length = 3으로 하면 ['0a2', '1a0', 'b2d', '40a', '20b', '2d4', 'aa2', 'caa', '2c0', 'd']
2021. 6. 9.
[Python] list 의 item들을 특정 개수만큼 나눠서 배열을 만들기
배열안의 값들을 n개씩 나눠서 배열을 만들고 싶을 때, n = 4 [1, 2, 3, 4, 5, 6, 7, 8, 9] --> [[1, 2, 3, 4], [5, 6, 7, 8], [9]] my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 몇개씩 나눌 것인지 n = 4 final = [my_list[i * n:(i + 1) * n] for i in range((len(my_list) + n - 1) // n )] print (final) # [[1, 2, 3, 4], [5, 6, 7, 8], [9]]
2021. 6. 9.
[Python] 2차원 이상의 배열을 각각 axis로 배열 만들기
아래와 같은 배열이 있을 때, (배열의 배열도되고, 튜플의 배열도 됩니다.) all = [ (0, 'a'), (1, 'b'), (2, 'c'), (3, 'd') ] 여기서 행으로 나눈 [0,1,2,3] 과 ['a', 'b', 'c', 'd'] 의 배열을 만들고 싶다면 방법1. 일반적인 방법 a, b = [], [] for al in all: a.append(al[0]) b.append(al[1]) # a : [1,2,3,4] # b : ['a','b','c','d'] 방법2. numpy 사용 na = np.array(all) a = list(na[:, 0]) b = list(na[:, 1]) 단순히 list 를 뽑아내기만 하는거면 numpy 사용 비추입니다. 방법3. map, zip 사용 a, b = l..
2021. 6. 8.