Pythonアルゴリズムインタビュー第5章
8788 ワード
第五章リスト、ディック・シャナリー
インベントリ
💡 順序格納されたシーケンスと変更可能なリスト
入力順序は変わらず,内部は動的に配列されている.
ダイナミック配列?
第七章では詳しく紹介します!
第7章リンク:
リストを使用すると、スタック、キューを使用するかどうかを考慮する必要がなく、スタックとキューで使用可能なすべての演算を同時に提供できます.
リストから最初の要素を取り出すpop(0)はO(n)であるため、キュー演算を使用する際に注意してください.
これにより、Deque(Deque)などのデータ型でパフォーマンスを向上させることができます.
これは第9章で説明しなければならない.
第9章リンク:
リストの使用方法
Pythonのリストには、連続空間に要素の配列を配置する利点と、様々なタイプの接続リストを接続する利点があり、実際にはリストを使用すれば、配列や接続リストは必要なく、機能の強いPythonは元のタイプのデータ型を提供しません.
専制的
💡 PythonのDickShownureとは、キー/値構造からなるDickShownureのこと.
ハッシュテーブルを使用して資料を格納し、複数のタイプのキーをサポートしますが、入力とクエリー部分はO(1)で、非常に効率的です.
ディクシャナリーの使い方
1)defaultdictオブジェクト
クエリに存在しないキーの場合は、エラーメッセージは出力されません.
これを基準として、この鍵に対して専用の物品を生成する.
品物の個数を計算して、ディックシャナリーに戻ります.
入力値を指定すると、OrderedDictは入力の順序を維持します.
インベントリ
💡 順序格納されたシーケンスと変更可能なリスト
入力順序は変わらず,内部は動的に配列されている.
ダイナミック配列?
第七章では詳しく紹介します!
第7章リンク:
リストを使用すると、スタック、キューを使用するかどうかを考慮する必要がなく、スタックとキューで使用可能なすべての演算を同時に提供できます.
リストから最初の要素を取り出すpop(0)はO(n)であるため、キュー演算を使用する際に注意してください.
これにより、Deque(Deque)などのデータ型でパフォーマンスを向上させることができます.
これは第9章で説明しなければならない.
第9章リンク:
リストの使用方法
a = list()
#or
a = []
######append
a = [1,2,3]
a.append(4)
print(a)
### result [1,2,3,4]
#####a.insert
a.insert(3,5) #3번 인덱스에 5를 넣어라
print(a)
### result [1,2,3,5,4]
#####slicing
a[1:3]
print(a)
### result [2,3,5]
##### 리스트의 요소 삭제 (del)
def a[1]
print(a)
### result [1,3,5,4]
##### 리스트의 요소 삭제 (pop)
a.pop(3)
print(a)
### result [1,3,5]
リストのフィーチャーPythonのリストには、連続空間に要素の配列を配置する利点と、様々なタイプの接続リストを接続する利点があり、実際にはリストを使用すれば、配列や接続リストは必要なく、機能の強いPythonは元のタイプのデータ型を提供しません.
専制的
💡 PythonのDickShownureとは、キー/値構造からなるDickShownureのこと.
ハッシュテーブルを使用して資料を格納し、複数のタイプのキーをサポートしますが、入力とクエリー部分はO(1)で、非常に効率的です.
ディクシャナリーの使い方
a = dict()
a = {}
##### 키 value 설정
a = {'key1':'value1', 'key2':'value2', 'key3':'value3'}
print(a)
### result {'key1':'value1', 'key2':'value2', 'key3':'value3'}
##### 새로운 키 value 등록
a['key4'] = 'value4'
print(a)
### result {'key1':'value1', 'key2':'value2', 'key3':'value3','key4':'value4'}
###### 키가 존재하는지 존재하지 않는지에
for k,v in a.items():
print(k,v)
### result key1 value1
### key2 value2
専制モジュール1)defaultdictオブジェクト
クエリに存在しないキーの場合は、エラーメッセージは出力されません.
これを基準として、この鍵に対して専用の物品を生成する.
a.collections.defaultdict(int)
a['A'] = 5
a['B'] = 4
a['C'] += 1
#C에서 에러가 나야겠지만 에러가 나지 않은 체 디폴트인 0에서 1을 더한 1의 value를 가진 아이템이 생성된다.
2)Counterオブジェクト品物の個数を計算して、ディックシャナリーに戻ります.
a = [1,2,3,4,5,5,5,6,6]
b = a.collections.Counter(a)
print(b)
### result Counter({5:3, 6:2, 1:1, 2:1, 3:1, 4:1})
##### 가장 빈도가 높은 것은?
b.most_common(1)
[(5,3)]
3)OrderedDictオブジェクト入力値を指定すると、OrderedDictは入力の順序を維持します.
Reference
この問題について(Pythonアルゴリズムインタビュー第5章), 我々は、より多くの情報をここで見つけました https://velog.io/@leeseungsoo0701/파이썬-알고리즘-인터뷰-5장리스트딕셔너리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol