Python Language
リストスライス(リストの一部を選択)
サーチ…
構文
- a [start:end]#itemsはend-1から始まります。
- a [start:]#itemsは配列の残りの部分から始まります
- a [:end]#最初から最後までの項目#
- a [開始:終了:ステップ]#終了までに開始しないで、ステップごとに
- a [:]#配列全体のコピー
- ソース
備考
-
lst[::-1]
はあなたにリストのコピーをlst[::-1]
ます -
start
またはend
は負の数でもかまいません。つまり、配列の先頭からではなく末尾から数えます。そう:
a[-1] # last item in the array
a[-2:] # last two items in the array
a[:-2] # everything except the last two items
( ソース )
3番目の「ステップ」引数を使用する
lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
lst[::2]
# Output: ['a', 'c', 'e', 'g']
lst[::3]
# Output: ['a', 'd', 'g']
リストからサブリストを選択する
lst = ['a', 'b', 'c', 'd', 'e']
lst[2:4]
# Output: ['c', 'd']
lst[2:]
# Output: ['c', 'd', 'e']
lst[:4]
# Output: ['a', 'b', 'c', 'd']
スライスでリストを反転する
a = [1, 2, 3, 4, 5]
# steps through the list backwards (step=-1)
b = a[::-1]
# built-in list method to reverse 'a'
a.reverse()
if a = b:
print(True)
print(b)
# Output:
# True
# [5, 4, 3, 2, 1]
スライスを使用してリストを移動する
def shift_list(array, s):
"""Shifts the elements of a list to the left or right.
Args:
array - the list to shift
s - the amount to shift the list ('+': right-shift, '-': left-shift)
Returns:
shifted_array - the shifted list
"""
# calculate actual shift amount (e.g., 11 --> 1 if length of the array is 5)
s %= len(array)
# reverse the shift direction to be more intuitive
s *= -1
# shift array with list slicing
shifted_array = array[s:] + array[:s]
return shifted_array
my_array = [1, 2, 3, 4, 5]
# negative numbers
shift_list(my_array, -7)
>>> [3, 4, 5, 1, 2]
# no shift on numbers equal to the size of the array
shift_list(my_array, 5)
>>> [1, 2, 3, 4, 5]
# works on positive numbers
shift_list(my_array, 3)
>>> [3, 4, 5, 1, 2]
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow