linsert — 리스트에 원소 끼워 넣기
linsert — 리스트에 원소 끼워 넣기
리스트 중간에 새로운 원소들을 끼워 넣고 싶을 때 linsert를 써요. 원본 리스트는 그대로 두고, 새 원소가 포함된 새 리스트를 만들어 돌려줘요. 인덱스는 0부터 시작하고, end-1처럼 끝을 기준으로도 지정할 수 있어요.
출처: 문서
본문
linsert 명령어는 list의 index 번째 원소 바로 앞에 모든 element 인수를 끼워 넣어 만든 새 리스트를 만들어요. 각 element 인수는 새 리스트의 별개 원소가 돼요. index가 0보다 작거나 같으면 새 원소들은 리스트의 맨 앞에 삽입되고, index가 list의 길이보다 크거나 같으면 end인 것처럼 처리돼요. string index와 마찬가지로 인덱스 값은 단순 인덱스 산술과 끝 기준 인덱싱을 모두 지원해요.
인덱스는 리스트 내부의 위치를 가리켜야 하고 원소들은 항상 순서대로 삽입된다는 제약 아래에서, 삽입은 인덱스가 시작 기준일 때 첫 번째 원소가 결과 리스트의 그 인덱스에 오고, 인덱스가 끝 기준일 때 마지막 원소가 결과 리스트의 그 인덱스에 오도록 이루어져요.
구문은 다음과 같아요.
linsert list index ?element element ...?
예시
먼저 시작을 기준으로, 그다음 끝을 기준으로 값을 넣고, 이어서 함께 연결해 보는 예시예요.
set oldList {the fox jumps over the dog}
set midList [linsert $oldList 1 quick]
set newList [linsert $midList end-1 lazy]
# The old lists still exist though...
set newerList [linsert [linsert $oldList end-1 quick] 1 lazy]
더 알아보기
list,lappend,lindex,llength,lsearch,lset,lsort,lrange,lreplace,string