회원 로그인
|
Python for Maya - 5. 리스트 자료 다루기 1
기반으로 복습하는 차원에서 재정리한 것입니다.
리스트(list)는 python의 자료형 중 가장 많이 사용되고 쉽게 사용할 수 있는 sequence(순서대로 저장되는)이면서 형변환이 가능한 자료형이다.
mel은 배열(array)만을 사용하여 자료들을 저장하고 빼내어 사용하지만 python에서는 여러 자료형을 제공한다.
![](http://dvframes.com/rb/files/2013/03/17/21a457e43f7bf4e66362c561d5baa149001734.jpg)
선택한 object 자료를 변수 sel_에 저장한다.
import maya.cmds as cmd sel_ = cmd.ls(sl=1) # 또는 sel_ = cmd.ls(sl=True)와 같다.저장된 자료를 확인하자.
sel_ # Result: [u'nurbsSphere1', u'nurbsSphere2', u'nurbsSphere3', u'nurbsSphere4', u'nurbsSphere5', u'nurbsSphere6', u'nurbsSphere7', u'nurbsSphere8', u'nurbsSphere9', u'nurbsSphere10', u'nurbsSphere11', u'nurbsSphere12', u'nurbsSphere13', u'nurbsSphere14', u'nurbsSphere15', u'nurbsSphere16', u'nurbsSphere17', u'nurbsSphere18', u'nurbsSphere19', u'nurbsSphere20'] #20개의 자료가 sel_에 저장되었다.
리스트는 [ ] 기호를 사용하며, 리스트명[숫자 또는 '문자열'] 형태를 갖는다.
개별적으로 선택되는 인덱싱(indexing) 자료 추출 방법으로 자료[n]과 자료[-n]로 사용된다.
이제 저장된 자료들을 추출 및 선택해 보자.
리스트에 저장된 object를 선택해 보자
![](http://dvframes.com/rb/files/2013/03/17/255138b87a99e28a3d2a3a457d0f94fe001746.jpg)
cmd.select(sel_[0])sel_[0] 번째 리스트는 첫번째 공간에 있는 자료이므로 nurbsSphere1가 선택되었다. (자료형 모두가 0부터 자료가 들어간다.)
# 라면... #12번째 공간에는 nurbsSphere13 자료가 들어가 있다. sel_[12] # Result: nurbsSphere13 #
![](http://dvframes.com/rb/files/2013/03/17/65bebc82a7428d8f120148d31f970368001750.jpg)
cmd.select(sel_[-1])sel_[-1]은 자료 뒤의 첫번째 공간을 선택하게 된다.
sel_[-12] # Result: nurbsSphere9 # 뒤에서 12번째 공간의 자료가 저장되어 있는 걸 확인할 수 있다.이젠 다수의 자료들을 다룰 수 있는 슬라이싱(slicing) 방법으로 추출해 보자.
![](http://dvframes.com/rb/files/2013/03/17/e28ec4f93828a8b6a166aa8b23d64cd6001726.jpg)
cmd.select(sel_[:10])앞에서 10번째까지 자료를 선택하였다. 개별적인 인덱싱 방법과 혼돈될 수 있지만 인덱스는 자료의 위치, 슬라이싱은 물리적인(?) 갯수 또는 위치로 생각하면 된다.
인덱스와 마찮가지로 슬라이싱도 자료 뒷부분 부터 선택도 가능하다.
![](http://dvframes.com/rb/files/2013/03/17/fd66ccd8e1be3fae6328b521b02f5aa8001722.jpg)
cmd.select(sel_[-10:])중간의 부분을 선택하려면..
![](http://dvframes.com/rb/files/2013/03/17/3ad1065fe04ee3b5608136f986196ba2001742.jpg)
cmd.select(sel_[5:12])두개씩 건너뛰게 하려면...
![](http://dvframes.com/rb/files/2013/03/17/4977d050a7bf62bf9937c407340ddfae001738.jpg)
cmd.select(sel_[::3])슬라이싱 자료 추출은 리스트명[시작번호:끝번호:간격수] 형태이다.
![](http://dvframes.com/rb/files/2013/03/17/d85915e7e4a09eefb82923ad5d3d1138001730.jpg)
cmd.select(sel_[2:17:2])2번째~17번째 위치에 저장된 자료들 중 하나 건너씩 선택된다.
주의할 점은 자료형의 공간(인덱싱)과 위치(슬라이싱)를 구분을 잘 해야 한다.
───────────────────────────────────────────────
source : http://cafe.naver.com/digitaldream/444 - 'Maya Python 시작하기' 5) 자료 다루기 - 1
![](/rb/modules/bbs/theme/_pc/list01/image/ico_comment.gif)
466개(1/24페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
![]() |
마야 뷰포트 네비게이션 팁 | 푸딩뱃살 | 48335 | 2020.04.06 17:22 |
![]() |
Maya 버전 별 Python 버전 | 푸딩뱃살 | 68473 | 2014.01.08 17:59 |
464 |
[Dev] Autodesk Maya Devkit 다운로드
![]() |
푸딩뱃살 | 788 | 2023.01.28 14:28 |
463 | [Base] (해결 중) modules 환경설정 중 | 푸딩뱃살 | 705 | 2022.11.09 11:47 |
462 | [Script] pymel 딕셔너리형 사용 시 KeyError | 푸딩뱃살 | 975 | 2022.11.07 12:08 |
461 | [오류] Building Numpy for Maya Python 2.7.x | 푸딩뱃살 | 654 | 2022.10.23 14:38 |
460 |
[Base] 뷰포트에서 조절자가 안 보일때
![]() |
푸딩뱃살 | 865 | 2022.10.13 15:47 |
459 | [Rigging] mirror joints 사용 시 유의 사항 | 푸딩뱃살 | 863 | 2022.10.04 10:46 |
458 |
[Script] 2022에서 enum34 모듈 설치 금지
![]() |
푸딩뱃살 | 642 | 2022.08.17 18:08 |
457 | [Script] pymel 예제 | 푸딩뱃살 | 658 | 2022.07.05 19:20 |
456 | [Script] 인코드 / 디코드 - 2.7 한글 사용 | 푸딩뱃살 | 951 | 2022.03.08 17:52 |
455 |
[Dev] ui 없이 mayapy로 자동화
![]() |
푸딩뱃살 | 758 | 2022.02.17 13:56 |
454 | [Dev] mayapy로 ui파일 py로 | 푸딩뱃살 | 559 | 2022.02.15 18:20 |
453 | [오류] Error : MayaBonusTools | 푸딩뱃살 | 988 | 2022.01.21 17:52 |
452 | [오류] Error: ModuleNotFoundError | 푸딩뱃살 | 828 | 2022.01.21 16:24 |
451 |
[Dev] mayapy
![]() |
푸딩뱃살 | 711 | 2022.01.19 20:08 |
450 |
[Base] function selCom at 0x7f29c5c04aa0
![]() |
푸딩뱃살 | 671 | 2022.01.19 17:24 |
449 |
[Base] wireframe on shaded 단축키 만들기
![]() |
푸딩뱃살 | 973 | 2022.01.04 10:55 |
448 | [오류] OpenCL Error | 푸딩뱃살 | 551 | 2021.12.28 01:40 |
447 |
[Script] Easily Translate MEL Commands to Python
![]() |
푸딩뱃살 | 920 | 2021.12.02 11:22 |
446 |
[Base] output window 띄우지 않기
![]() |
푸딩뱃살 | 890 | 2021.11.24 21:44 |
445 | [Rigging] shapeEditorManager 삭제 안됨 | 푸딩뱃살 | 961 | 2021.11.12 23:30 |