6장: 목록, List

1. list 명령어

list는 주어진 인자들을 하나의 리스트로 만듭니다.

1.1 기본 구문

list 인자1 인자2 ...

1.2 사용 예시

set fruits [list apple banana cherry]
puts $fruits  # 출력: apple banana cherry

set mixed [list "Hello World" 42 3.14 {nested list}]
puts $mixed  # 출력: {Hello World} 42 3.14 {nested list}

1.3 주요 특징

  • 공백이나 특수 문자를 포함한 인자도 하나의 요소로 처리합니다.

  • 빈 리스트를 만들 때도 사용할 수 있습니다: set empty_var [list]

2. lappend 명령어

lappend는 기존 리스트 변수에 하나 이상의 요소를 추가합니다.

2.1 기본 구문

2.2 사용 예시

2.3 주요 특징

  • 기존 변수의 값을 변경합니다.

  • 변수가 존재하지 않으면 새로운 리스트를 생성합니다.

  • 여러 요소를 한 번에 추가할 수 있습니다.

2.4 팁 💡

  • 리스트에 요소를 추가할 때 lappend를 사용하면 concat이나 list보다 효율적입니다.

  • 루프 내에서 리스트를 구축할 때 특히 유용합니다.

3. concat 명령어

concat은 주어진 인자들을 연결하여 하나의 리스트로 만듭니다.

3.1 기본 구문

3.2 사용 예시

3.3 주요 특징

  • 리스트, 문자열, 숫자 등 다양한 타입의 인자를 연결할 수 있습니다.

  • 리스트 인자의 가장 바깥쪽 중괄호를 제거하고 연결합니다.

  • 결과는 항상 평면화된(flattened) 리스트입니다.

3.4 팁 💡

  • 여러 리스트를 하나로 합칠 때 유용합니다.

  • join과 달리 구분자를 사용하지 않고 연결합니다.

4. 명령어 비교

  • list: 각 인자를 개별 요소로 취급하여 리스트 생성

  • lappend: 기존 리스트에 요소 추가 (변수 수정)

  • concat: 인자들을 연결하여 새로운 리스트 생성 (평면화)

5. 복합 사용 예시

이 명령어들은 종종 함께 사용되어 복잡한 리스트 조작을 수행합니다:

6. 성능 고려사항 🚀

  • lappend는 리스트 끝에 요소를 추가할 때 가장 효율적입니다.

  • 대량의 리스트를 연결할 때는 concat보다 lappend를 반복 사용하는 것이 더 효율적일 수 있습니다.

Last updated