Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonリストの理解とスライス?


このセクションでは、Pythonリストのスライスとリスト内包表記について理解します。

リストスライスとは何ですか?

名前が示すように、スライスとは–何かをより小さな断片(スライス)にカットすることを意味します。リストスライスは、元のリストからリストの一部を抽出するプロセスです。リストスライスでは、必要なもの(開始、停止、スライスする増分など)に基づいてリストをカットします。

リスト内包表記とは何ですか?

リスト内包表記は、既存のリストに基づいてリストを生成します。これは、既存のリストに基づいて新しいリストを定義および作成するための洗練された方法を提供します。

リストスライス

リストをスライスするので、最初にリストを作成しましょう-

>>> mylist = ["Which ", "Language ", "To ", "Choose ", "Difficult, ", "Python ",
   "Java ", "Kotlin ", "Many more"]
>

リストは、-1(最後の要素)から始まり、-1ずつ増加して逆方向にインデックスを付けることができます。したがって、-1が最後の要素になり、-2が最後から2番目の要素になります。

>>> mylist_slice1 = mylist[0: -1:2]
>>> mylist_slice1
['Which ', 'To ', 'Difficult, ', 'Java ']

リストをスライスするときは、最初にリスト(この場合はmylist)を呼び出し、次にスライスの要件を呼び出す必要があります。これらは角かっこ[]で囲む必要があります。 []内で渡す必要のある引数は-

です
  • 最初の引数、スライスを開始するためのインデックス。
  • 2番目の引数、スライスを停止するためのインデックス。
  • 3番目の引数、スライスするステップ/インクリメント(オプション)。

したがって、最終的には、これは次のようになります-

mylist[START: STOP:STEP]
>>> mylist_slice2 = mylist[1:-1:2]
>>> mylist_slice2
['Language ', 'Choose ', 'Python ', 'Kotlin ']

リスト内包表記

私の今(上から)ご存知のように、リスト内包表記は既存のリストから新しいリストを生成しています。それでは、最初にリスト(元のリスト)を作成しましょう。range()関数を使用して、リスト内包表記用の数値の一時的なリストを生成しています。

>>> mylist1 = [x for x in range(0, 40)]
>>> mylist1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
>>>
>>> mylist2 = [x for x in range(0,41) if x%2 == 0]
>>> mylist2
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40]

上記で何が起こっているのかを理解しましょう。最初に一時変数名「x」を作成し、次に角かっこ内で0〜40の範囲を繰り返すforループを作成し、実行すると0〜39の数値のリストを生成します。次に、別のリストを作成し、それに条件を追加しました。条件は「if x%2==0」でした。これは、偶数のみを探していることを意味します。

リスト内包表記の文字列を使用して別のリストを作成しましょう。

>>> strlist = ["This", "Is", "A" , "List" , "Of", "Strings", "For", "List", "Comprehension"]
>>> print([x.lower() for x in strlist])
['this', 'is', 'a', 'list', 'of', 'strings', 'for', 'list', 'comprehension']

上に文字列リストがあり、リスト内包表記を使用してリスト項目を小文字にしています。


  1. Python以外で試してみてください

    Pythonで例外処理を使用するには、最初に、を除くすべての句をキャッチする必要があります。 Pythonには、例外をキャッチするための「try」および「except」キーワードが用意されています。 「try」ブロックコードは、ステートメントごとに実行されます。ただし、例外が発生した場合、残りの「try」コードは実行されず、except句が実行されます。 try:    some_statements_here except:    exception_handling 非常に簡単な例で上記の構文を見てみましょう- try:    

  2. Pythonを使用して配列リストの0と1を分離しますか?

    リスト内包表記は、Pythonで人気のある手法です。ここでは、この手法を使用します。ユーザー入力配列を作成します。配列要素はランダムな順序で0と1である必要があります。次に、左側の0と右側の1を分離します。配列をトラバースし、2つの異なるリストを分離します。1つは0を含み、もう1つは1を含み、2つのリストを連結します。 例 Input:: a=[0,1,1,0,0,1] Output::[0,0,0,1,1,1] アルゴリズム seg0s1s(A) /* A is the user input Array and the element of A should be the combin