itertools
珂太の練習では、リストから3つの要素を繰り返し抽出しないという問題があったので、3重の周りをむやみにやった.🤯 しかし、itertoolsライブラリを使用すると、1行の問題を解決できます.🤦♀️
itertools
Pythonで重複データを処理する機能を含むライブラリ.
permutations
リストのようなiterableオブジェクトからr個のデータを抽出して1列に列挙するすべての場合(シーケンス=配列)を計算します.
リストのようなiterableオブジェクトからr個のデータを抽出し,順序を考慮せずにリストされたすべての状況(組合せ=組合せ)を計算する.
参考資料:イコテ452 pから454 p
itertools
Pythonで重複データを処理する機能を含むライブラリ.
permutations
リストのようなiterableオブジェクトからr個のデータを抽出して1列に列挙するすべての場合(シーケンス=配列)を計算します.
from itertools import permutations
data=['A','B','C']
#data 리스트에서 3개 데이터를 뽑아 모든 경우를 나열한 후 리스트로 변환.
result=list(permutations(data,3))
print(result)
'''
실행결과
[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'),
('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
'''
combinationsリストのようなiterableオブジェクトからr個のデータを抽出し,順序を考慮せずにリストされたすべての状況(組合せ=組合せ)を計算する.
from itertools import combinations
data=['A','B','C']
#data 리스트에서 2개 데이터를 뽑아 모든 조합을 구하고 리스트로 변환
result=list(combinations(data,2))
print(result)
'''
실행결과
[('A', 'B'), ('A', 'C'), ('B', 'C')]
'''
productproduct
はpermutations
と同じですが、要素の繰り返しを許可します.抽出するデータの数をrepeat
属性に入れます.from itertools import product
data=['A','B','C']
result=list(product(data,repeat=2))
print(result)
'''
실행결과
[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'),
('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]
'''
combinations_with_replacementcombinations_with_replacement
はcombinations
と同じですが、要素の繰り返しを許可します.from itertools import combinations_with_replacement
data=['A','B','C']
result=list(combinations_with_replacement(data,2))
print(result)
'''
실행결과
[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B'), ('B', 'C'), ('C', 'C')]
'''
※地図も使えます.
res=list(map(list,permutations(s,2)))
res=list(map(커스텀함수,permutations(s,2)))
プログラマ高得点kit完全ナビゲーション部分小数点検索問題リファレンス参考資料:イコテ452 pから454 p
Reference
この問題について(itertools), 我々は、より多くの情報をここで見つけました https://velog.io/@jiwon_choi/itertoolsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol