메뉴 건너뛰기

enjoyTools.net

#7. 리스트

2015.04.04 08:05

꿈돌이 조회 수:1734

입력방법

list(1 2 3 4 5)

'(1 2 3 4 5)


cons : 리스트에 항목(변수 또는 리스트) 추가

a = list(1 2 3 4 5)

cons("added" a)

=> ("added" 1 2 3 4 5)


cons(a a)

=> ((1 2 3 4 5) 1 2 3 4 5)


append : 리스트에 다른 리스트 추가

a = list(1 2 3 4 5)

append("added" a)

=> 에러 발생됨


append(a a)

=> (1 2 3 4 5 1 2 3 4 5)


car / cdr : car는 리스트 첫번째 변수 반환, cdr은 리스트 뒤쪽 나머지를 반환

 - 좋은거: caar, cddr, cadr, cdar 식으로 한 방에 중첩 적용 가능하다. 순서는 뒤에서 앞으로 역순임.

a = list(1 2 3 4 5)

car(a)

=> 1

cdr(a)

=> (2 3 4 5)

cddr(a)

=> (3 4 5)

cadr(a)

=> 2

cdar(a)

=> 빈 값

caddr(a)

=> 3


nth : 리스트내 x번째 위치한 값 반환

a = list(1 2 3 4 5)

nth(0 a)

=> 2

nth(1 a)

=> 2

nth(2 a)

=> 3


member : 리스트내 x번째부터 끝순까지의 리스트 반환

a = list(1 2 3 4 5)

member(0 a)

=> nil

member(1 a)

=> (1 2 3 4 5)

member(2 a)

=> (2 3 4 5)

member(3 a)

=> (3 4 5)

member(4 a)

=> (4 5)


length : 리스트 크기 반환

a = list(1 2 3 4 5)

length(a)

=> 5

a = list(1 2 3)

length(a)

=> 3


setof : 리스트 값 중에서 지정한 규칙에 맞는 것만 반환

a = list(1 2 3 4 5)

setof(y a if(y==1 || y ==2 then t else nil))

=> (1 2)

setof(y a if(y==1 || y ==2 then nil else t))

=> (3 4 5)

setof(y a oddp(y))

=> (1 3 5)

setof(y a evenp(y))

=> (2 4)


끝.

번호 제목 글쓴이 날짜 조회 수
9 #8. map 시리즈 꿈돌이 2015.04.05 3947
» #7. 리스트 꿈돌이 2015.04.04 1734
7 #6. 함수(프로시저) 꿈돌이 2015.02.22 10118
6 #5. 조건문 꿈돌이 2015.02.22 4274
5 #4. 폼 꿈돌이 2015.02.22 4536
4 #3. 순환문 꿈돌이 2015.02.22 1046
3 #2. 출력문 꿈돌이 2015.02.21 5502
2 #1. 기본 문법 꿈돌이 2015.02.21 1923
1 #0. 개요 꿈돌이 2015.02.21 2077