見出し画像

Pythonスライス操作の基本、メモ的サンプルプログラム 【ステップ使用例追加!】

Pythonスライス操作の基本、メモ的サンプルプログラム

s = [0, 1, 2, 3, 4]  # 元のリスト原本

a = s[:] # s を a へ (shallow)コピー
print('a ⇒', a, '// 元のリスト', end='\n\n')

a[1:1] = ['x']
print("a[1:1] = ['x'] ⇒", a, '// 途中挿入1', end='\n\n')

a = s[:]
a[1:1] = ['x', 'y']
print("a[1:1] = ['x', 'y'] ⇒", a, '// 途中挿入2', end='\n\n')

a = s[:]
a[0:0] = ['x', 'y', 'z']
print("a[0:0] = ['x', 'y', 'z'] ⇒", a, '// 先頭に追加', end='\n\n')

a = s[:]
a[len(a):] = ['x', 'y', 'z']
print("a[len(a):] = ['x', 'y', 'z'] ⇒", a, '// 末尾に追加', end='\n\n')

a = s[:]
a[1:2] = ['x']
print("a[1:2] = ['x'] ⇒", a, '// 互換1', end='\n\n')

a = s[:]
a[1:3] = ['x', 'y']
print("a[1:3] = ['x', 'y'] ⇒", a, '// 互換2', end='\n\n')

a = s[:]
a[1:3] = ['x', 'y', 'z']
print("a[1:3] = ['x', 'y', 'z'] ⇒", a, '// 互換と挿入1', end='\n\n')

a = s[:]
a[1:2] = ['x', 'y', 'z']
print("a[1:2] = ['x', 'y', 'z'] ⇒", a, '// 互換と挿入2', end='\n\n')

a = s[:]
a[1:3] = []
print("a[1:3] = [] ⇒", a, '// 部分削除')


出力結果


a ⇒ [0, 1, 2, 3, 4] // 元のリスト

a[1:1] = ['x'] ⇒ [0, 'x', 1, 2, 3, 4] // 途中挿入1

a[1:1] = ['x', 'y'] ⇒ [0, 'x', 'y', 1, 2, 3, 4] // 途中挿入2

a[0:0] = ['x', 'y', 'z'] ⇒ ['x', 'y', 'z', 0, 1, 2, 3, 4] // 先頭に追加

a[len(a):] = ['x', 'y', 'z'] ⇒ [0, 1, 2, 3, 4, 'x', 'y', 'z'] // 末尾に追加

a[1:2] = ['x'] ⇒ [0, 'x', 2, 3, 4] // 互換1

a[1:3] = ['x', 'y'] ⇒ [0, 'x', 'y', 3, 4] // 互換2

a[1:3] = ['x', 'y', 'z'] ⇒ [0, 'x', 'y', 'z', 3, 4] // 互換と挿入1

a[1:2] = ['x', 'y', 'z'] ⇒ [0, 'x', 'y', 'z', 2, 3, 4] // 互換と挿入2

a[1:3] = [] ⇒ [0, 3, 4] // 部分削除


ステップ使用例

s = [0, 1, 2, 3, 4]

print('s ⇒', s, '// 元のリスト', end='\n\n')

print('s[::2] ⇒', s[::2], '// ステップ例1', end='\n\n')

print('s[0:3:2] ⇒', s[0:3:2], '// ステップ例2', end='\n\n')

print('s[::-1] ⇒', s[::-1], '// ステップ例3', end='\n\n')

print('s[::-2] ⇒', s[::-2], '// ステップ例4', end='\n\n')

print('s[-1:-4:-2] ⇒', s[-1:-4:-2], '// ステップ例5', end='\n\n')


出力結果


s ⇒ [0, 1, 2, 3, 4] // 元のリスト

s[::2] ⇒ [0, 2, 4] // ステップ例1

s[0:3:2] ⇒ [0, 2] // ステップ例2

s[::-1] ⇒ [4, 3, 2, 1, 0] // ステップ例3

s[::-2] ⇒ [4, 2, 0] // ステップ例4

s[-1:-4:-2] ⇒ [4, 2] // ステップ例5





#Python #Python3
#スライス
#スライス操作
#スライス指定
#スライスコピー
#スライス挿入
#スライス追加
#スライス互換
#スライス削除
#ステップ