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

Pythonで分割されたカスタムリスト


データ分析は、データを移動するためにラングリングする必要がある複雑なシナリオを投げかけます。このコンテキストでは、大きなリストを取得し、要件に従ってそれを多くのサブリストに分割する方法を見てみましょう。この記事では、これを実現するためのアプローチについて説明します。

zipおよびforループ付き

このアプローチでは、リストダイシングを使用して、分割が発生する必要があるポイントから要素を取得します。次に、zipとforループを使用して、forループを使用してサブリストを作成します。

Alist = ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4]

# The indexes to split at
split_points = [2, 5, 8]

# Given list
print("Given list : " + str(Alist))

# SPlit at
print("The points of splitting : ",split_points)

#Perform the split
split_list = [Alist[i: j] for i, j in zip([0] +
split_points, split_points + [None])]

# printing result
print("The split lists are : ", split_list)

出力

上記のコードを実行すると、次の結果が得られます-

Given list : ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4]
The points of splitting : [2, 5, 8]
The split lists are : [['Mon', 'Tue'], ['Wed', 6, 7], ['Thu', 'Fri', 11], [21, 4]]

チェーンとzipの使用

チェーン関数は、最初のイテレータから要素がなくなるまで要素を返すイテレータを作成します。したがって、分割が発生するポイントをマークします。次に、zip関数を使用して、サブリストに分割した結果をパッケージ化します。

from itertools import chain
Alist = ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4]

# The indexes to split at
split_points = [2, 5, 8]

# Given list
print("Given list : ", str(Alist))

# Split at
print("The points of splitting : ",split_points)

# to perform custom list split
sublists = zip(chain([0], split_points), chain(split_points, [None]))
split_list = list(Alist[i : j] for i, j in sublists)

# printing result
print("The split lists are : ", split_list)

出力

上記のコードを実行すると、次の結果が得られます-

Given list : ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4]
The points of splitting : [2, 5, 8]
The split lists are : [['Mon', 'Tue'], ['Wed', 6, 7], ['Thu', 'Fri', 11], [21, 4]]

  1. 与えられたPythonリストからのバイグラム形成

    バイグラムは、特定の文の2つの連続する単語ごとに1組の単語を作成することによって形成されます。 Pythonでは、この手法はテキスト分析で頻繁に使用されます。以下に、これを実現する方法に関する2つのアプローチを示します。 列挙と分割の使用 これらの2つの方法を使用して、最初に文を複数の単語に分割し、次に列挙関数を使用して、連続する単語から単語のペアを作成します。 例 list = ['Stop. look left right. go'] print ("The given list is : \n" + str(list)) # Using enumer

  2. 文字列をPythonで単語のリストに変換する方法は?

    単語のリスト内の文字列を変換するには、空白で文字列を分割する必要があります。文字列クラスからsplit()を使用できます。このメソッドのデフォルトの区切り文字は空白です。つまり、文字列で呼び出されると、その文字列が空白文字で分割されます。 例 >>> "Please split this string".split() ['Please', 'split', 'this', 'string'] 正規表現を使用して、この問題を解決することもできます。正規表現\s +を区切り文字として使用して、