リストタプルのスライスから要素を取得するための高度な操作

Python では、スライス操作を使用して、シーケンス全体ではなくシーケンス (リスト、タプル、文字列など) からサブシーケンスを取得できます。スライス操作では、コロン (:) を使用して開始位置、終了位置、ステップ サイズを指定します。

スライスの基本的な構文は次のとおりです。

sequence[start:stop:step]
  • start: 開始位置のインデックス (その位置の要素を含む)。
  • stop: 終了位置のインデックス(その位置の要素を除く)。
  • step: ステップ サイズ。要素を毎回取得する間隔を制御します。デフォルト値は 1 です。

一般的なスライス操作をいくつか示します。

  1. サブシーケンスを取得します:
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[2:5]  # 从索引2开始到索引5(不包括),结果为 [2, 3, 4]
  1. ステップ サイズを指定します
my_string = "abcdefg"
subset = my_string[1:6:2]  # 从索引1开始到索引6(不包括),步长为2,结果为 "bdf"
  1. 開始位置または終了位置を省略します
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset1 = my_list[:5]  # 从开头到索引5(不包括),结果为 [0, 1, 2, 3, 4]
subset2 = my_list[5:]  # 从索引5开始到结尾,结果为 [5, 6, 7, 8, 9]
  1. 逆スライス:
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[::-1]  # 从结尾到开头,步长为-1,实现反向,结果为 [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  1. スライス内の要素を変更します
my_list = [0, 1, 2, 3, 4, 5]
my_list[1:3] = [10, 20, 30]  # 替换索引1到索引3(不包括)的元素,结果为 [0, 10, 20, 30, 3, 4, 5]

スライス操作では新しいシーケンスが返され、元のシーケンスは変更されていないことに注意してください。

スライスにおける従来の操作

  • 前方スライスして要素を取得する
  • スライスを反転して要素を取得する
  • 要素を取得するステップ サイズを指定します

スライス操作の意味

コード内のループの使用を減らす

おすすめ

転載: blog.csdn.net/weixin_44943389/article/details/133014334