リストの1つの要素を変更します。受け取り、Tclリストを含む変数の名前と解釈されます。これらのインデックスはコマンドラインで連続して現れるか、Tclリストに集められて1つの引数として現れます。それは最終的に、varNameの要素への新しい値として使われます。インデックスが現れない場合、このコマンドは以下のフォーマットになります。newValueこの場合には、newValueは変数varNameの古い値に置き換えます。単一のインデックスを表示されたとき、lsetコマンドはvarName変数の内容をTclリストとして扱います。0がリストの最初の要素を示します)。lsetはリストを解釈する際、中括弧と引用符、およびバックスラッシュに関してはTclコマンドインタープリタと同じルールに従います。変数置換やコマンド置換は発生しません。このコマンドは指定された要素がnewValueに置き換えされることで新しいリストを作成します。この新しいリストは変数varNameに格納され、lsetコマンドの戻り値として返されます。負数かつvarNameの要素個数より大きい場合、エラーが発生します。値endの場合、リストの最後の要素を参照します。リストの最後の要素から指定された整数オフセットを引いた要素を示します。あるサブリストの要素を指します。したがって、スクリプトはサブリストの要素を変更できます。newValueはサブリスト1の要素2をnewValueに置き換えます。各index引数に現れる整数は0また0より大きくなければなりません。各index引数に現れる整数は対応するリストの長さより絶対に少なくなければなりません。lsetコマンドはリストのサイズを変更できません。インデックスが可能範囲の外にある場合はエラーが報告されます。新しい値にもなります。新しい値にもなります。