Python問題50回
Log In
これはdictについての質問ですが、clean codeのようにコードを大幅に減らす方法があるので、位置決めしたいと思います.
Assignment
指定されたリストの各要素(要素)を、リストに表示されるインデックスとしてdictionaryとして作成し、返してください.Dictionaryのキーはlistの要素値で、valueはその要素の総周波数です.
たとえば、次のリストを入力として使用します.> my_list = ["one", 2, 3, 2, "one"]
Returnの値は次のとおりです.{
"one" : 2,
2 : 2,
3: 1
}
リストが1次元ならDictionaryは2次元という感じ
CS 1に触れ始めた頃はDictも習ってたみたいでDrop
1.近接
どうやって彼に近づくか考えています.
二つに分けることにした.
> my_list = ["one", 2, 3, 2, "one"]
{
"one" : 2,
2 : 2,
3: 1
}
最初に読み込んだ要素が重複している場合はcount+1で返すべきです.
2.解答
そのコードは以下の通りです.
def get_occurrence_count(input_list):
# 함수를 완성해 주세요.
new_dict ={}
occ_count=1
for i in range(len(input_list)):
for j in range(len(input_list)):
if i!=j:
if input_list[i]==input_list[j]:
occ_count +=1
new_dict[input_list[i]]=occ_count
return new_dict코드를 입력하세요
でもocc countはちょっとおかしい결과값
{'one': 5, 2: 4, 3: 3}
Shit..何か問題があるのかと思ったら...occ countはfor loopの外にあるので、1に戻るのではなく、直接保存します.ここに20分も書いてあるようですまだ慣れていないようです.
def get_occurrence_count(input_list):
# 함수를 완성해 주세요.
new_dict ={}
for i in range(len(input_list)):
occ_count=1
for j in range(len(input_list)):
if i!=j:
if input_list[i]==input_list[j]:
occ_count +=1
new_dict[input_list[i]]=occ_count
return new_dict
my_list = ["one", 2, 3, 2, "one"]
print(get_occurrence_count(my_list))
うん.よく撮れたしかし、直接Dictに入れる方法はありますか?悩んでいる
Dictについての解答を調べてみました.
3.その他の解釈
def get_occurrence_count(my_list):
my_dict = {}
for value in my_list:
if value in my_dict:
my_dict[value] += 1
else:
my_dict[value] = 1
return my_dict
ああ...1.空の辞書の作成
2.valueを作成し、myリストの値をfor文に変換します.
3.値が存在する場合は、my dictのキー値に挿入し、my dictの値をelse文に優先的に格納します(1はこの値です).
4.次にもう一度回すと、同じものに遭遇した場合、my dict[value]は同じなので、+=1のカウントが増えるにつれてvalue値も変化します.
5. Return my_dict.
Log Out
コードが簡潔であればあるほど、速度が速くなります.まず問題解決に集中してからコードコメントをするとき、どのようにしてより簡潔にすることができますか?苦悩の習慣を続けなければならない.
Reference
この問題について(Python問題50回), 我々は、より多くの情報をここで見つけました
https://velog.io/@jaejaypark/Python-문제-50번
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Python問題50回), 我々は、より多くの情報をここで見つけました https://velog.io/@jaejaypark/Python-문제-50번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol