파이썬으로 받은 시리얼데이터를 파싱해서 리스트로 저장하고싶습니다.
조회수 1885회
안녕하세요 아두이노로 받은 시리얼을 파싱해서 각각 리스트로 저장하고 싶습니다.
이건 제 코드이고 데이터는 이런식으로 실시간으로 출력됩니다. :
앞의 문자들을 리스트 x
로 뒤 문자들을 리스트 y
로 저장하고 싶은데 혹시 방법을 알 수 있을까요??
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
각각을
:
로 스플릿하여 pair 의 리스트를 zip 하면 될 겁니다.>>> random.choice(range(774, 779)) 777 >>> data = [ f"{i}:{random.choice(range(774, 779))}" for i in range(1, 11) ] >>> data ['1:774', '2:778', '3:775', '4:777', '5:776', '6:777', '7:775', '8:774', '9:776', '10:778'] >>> x, y = zip(*[ e.split(":") for e in data ]) >>> x ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10') >>> y ('774', '778', '775', '777', '776', '777', '775', '774', '776', '778') >>> data ['1:774', '2:778', '3:775', '4:777', '5:776', '6:777', '7:775', '8:774', '9:776', '10:778']
-
x = [] y = [] a = "1:111\n" #var = ser.readline() x.append(a[:-1].split(':')[0]) y.append(a[:-1].split(':')[1]) print(x) #1 print(y) #111
댓글 입력