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

Python –リスト間で文字列を切り離す


リスト全体で互いに素な文字列を見つける必要がある場合は、2つのパラメーターを受け取り、ラムダメソッドとreduceメソッドを「if」条件で使用して結果を決定するメソッドが定義されます。

以下は同じのデモンストレーションです-

from functools import reduce

def determine_disjoint_pairs(disjoint_data, my_result=[]):

   if not disjoint_data and not reduce(lambda a, b: set(a) & set(b), my_result):
      yield tuple(my_result)
   
   elif disjoint_data:
      yield [idx for k in disjoint_data[0] for idx in determine_disjoint_pairs(disjoint_data[1:], my_result + [k])]


my_list_1 = ["python", "is", "fun"]
my_list_2 = ["its", "awesome", "learning"]

print("The first list is : ")
print(my_list_1)
print("The second list is :")
print(my_list_2)

my_result = list(determine_disjoint_pairs([my_list_1, my_list_2]))

print("The result is :")
print(my_result)

出力

The first list is :
['python', 'is', 'fun']
The second list is :
['its', 'awesome', 'learning']
The result is :
[('fun', 'its'), ('fun', 'awesome')]

説明

  • 「determine_disjoint_pairs」という名前のメソッドが定義されており、2つのパラメーターを取ります。

  • 最初のパラメーターが真で​​なく、2つのパラメーターで使用される「reduce」メソッドと「lambda」メソッドが真でない場合、yield演算子を使用して結果が決定され、これもタプルに変換されます。

  • それ以外の場合は、別のパラメーターセットを使用してメソッドを再度呼び出すことにより、リスト内包表記とともにyield演算子が使用されます。

  • メソッドの外部では、文字列の2つのリストが定義され、コンソールに表示されます。

  • このメソッドは、これら2つのリストを渡すことによって呼び出されます。

  • リストに変換され、変数に割り当てられます。

  • この変数は、コンソールに出力として表示されます。


  1. Pythonで文字列のリストを並べ替える方法は?

    リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を

  2. Pythonリスト

    このチュートリアルでは、Pythonリストについて学習します。リストの作成、アイテムへのアクセス、アイテムの削除、リストの削除などの方法。 Pythonでは、リストは角かっこ[]を使用して作成されます リスト内の各項目は、コンマ,で区切られます。 。 Pythonリストには複数の異なるタイプのオブジェクトを含めることができるため、すべてが文字列や整数である必要はありません。たとえば、混合タイプを含むリストを作成できます。 mixedTypesList = [a, True, 1, 1.0] リストの作成方法 colorsList = [red, green, blue] print(co