블로그 (Blog)/개발로그 (Devlogs)
Python List <--> Tcl List 상호 변환
티클러
2025. 4. 3. 15:07
요즘 python과 tcl을 혼합해서 사용하는 경우가 많아서..
python의 리스트를 tcl의 리스트 타입으로 변환할 필요가 있거나..
아니면 반대로 할 경우가 가끔 있어서 만들어 보았음..
아래는 python 리스트를 tcl 리스트로 변환..
def totcllist(value):
if type(value) != list:
return '"' + str(value) + '" '
result = '[list '
for item in value:
result += totcllist(item)
result += ']'
return result
totcllist([1,2,3,['a','b', [0x11, 0x22]]])
==> '[list "1" "2" "3" [list "a" "b" [list "17" "34" ]]]'
아래는 tcl 리스트를 python 리스트로 변환..
proc topylist {value} {
if {[llength $value] == 1} {
if {[string is integer -strict $value]} {
return "$value"
} else {
return "'$value'"
}
}
set result "\["
set i 1
foreach item $value {
append result [topylist $item]
if { [llength $value] != $i } {
append result ","
}
incr i
}
if { [string index $result end] == "," } {
set result [string range $result 0 end-1]
}
append result "\]"
return $result
}
topylist { 12 100 {12 34} {56 {78 {11 12 11} 10 "abc"}}}
==> [12,100,[12,34],[56,[78,[11,12,11],10,'abc']]]