ホームページ >バックエンド開発 >Python チュートリアル >Python 言語の必見の 30 の機能とスキル (1)
5
1.4 負のインデックス
>>gt;> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>a[ - 1]
10
>>> a[-3]
8
1.5 リストスライス (a[start:
end])
>>> 1、2、3、4、5、6、7、8、9、10]
>>> a[2:8]
[2、3、4、5、6、7]
1.6 負のインデックスを使用したリストのスライス
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> -4:-2]
[7, 8]
1.7 ステップ値を持つスライスのリスト (a[start:end:step])
>>> a = [0, 1, 2, 3, 4、5、6、7、8、9、10]
>>> ; a[::3]
[0, 3, 6, 9]
>>> a[2:8:2]
[2, 4, 6]
1.8 マイナスステップ値リスト
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a[::- 1]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[::-2]
[10, 8, 6 , 4] , 2, 0]
1.9 リストスライスの割り当て
>>> a = [1, 2, 3, 4, 5]
>>> a[2:3] = [ 0, 0]
>>> a
[1, 2, 0, 0, 4, 5]
>>> a[1:1] = [8, 9]
> >> a
[1, 8, 9, 2, 0, 0, 4, 5]
>>> a[1:-1] = []
> a
[1, 5]
1.10 名前付きスライス(slice(start, end, step))
>>> a = [0, 1, 2, 3, 4, 5]
> >> LASTTHREE = スライス(-3, なし)
>>> LASTTHREE
スライス(-3, なし, なし)
>[LASTTHREE]
[ 3, 4, 5]
1.11
zipリストと複数の解凍
>>> a = [1, 2, 3]
>>> b = ['a', 'b ', 'c']
>>> z = zip(a, b)
>>> z
[(1, 'a'), (2, 'b' ), (3, 'c')]
>>> zip(*z)
[(1, 2, 3), ('a', 'b', 'c')]
1.12 zip結合并相邻の列表を使用します
>>> a = [1, 2, 3, 4, 5, 6]
>>> zip(*([iter(a)] * 2))
[(1, 2), (3, 4), (5, 6)]
>>> group_adjacent = lambda a, k: zip(*([iter(a)] * k))
>>> group_adjacent(a, 3)
[(1, 2, 3), (4, 5, 6)]
>>> group_adjacent(a, 2)
[(1, 2), (3, 4), (5, 6)]
>>> group_adjacent(a, 1)
[(1,), (2,), (3,), (4,), (5,), (6,)]
>>> zip(a[::2], a[1::2])
[(1, 2), (3, 4), (5, 6)]
>>> zip(a[::3], a[1::3], a[2::3])
[(1, 2, 3), (4, 5, 6)]
> >> group_adjacent = lambda a, k: zip(*(a[i::k] for i in range(k)))
>>> group_adjacent(a, 3)
[(1, 2, 3), (4, 5, 6)]
>>> group_adjacent(a, 2)
[(1, 2), (3, 4), (5, 6)]
>>> group_adjacent(a, 1)
[(1,), (2,), (3,), (4,), (5,), (6,)]
1.13 zip和イテレータを使用して生成滑動窗口 ( n -grams)
>>> itertools から islice をインポート
>>> def n_grams(a, n):
... z = (islice(a, i, None) for i in range(n))
... return zip(*z)
...
>>> a = [1, 2, 3, 4, 5, 6]
>>> n_grams(a, 3)
[(1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6)]
>>> n_grams(a, 2)
[(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
>>> n_grams(a, 4)
[(1, 2, 3, 4), (2, 3, 4, 5), (3, 4, 5, 6)]
1.14 使用zip反转字典
> ;>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> m.items()
[('a', 1), ('c', 3), ('b', 2), ('d', 4)]
>>> zip(m.values(), m.keys())
[(1, 'a'), (3, 'c'), (2, 'b'), (4, 'd')]
>>> mi = dict(zip(m.values(), m.keys()))
>>> mi
{1: 'a'、2: 'b'、3: 'c'、4: 'd'}
以上がPython 言語の必見の 30 の機能とスキル (1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。