0
Q
反復処理
A
答えて
1
次の方法 - 私はのようになり、出力が必要
class Contact:
def __init__(self,cid, email):
self.cid=cid
self.email=email
def ind(contacts):
index={}
#Code here
return index
contacts = [Contact(1,'a'),
Contact(2,'b'),
Contact(3,'c'),
Contact(4,'a')]
print(ind(contacts))
をPythonのためにかなり新しいですよリストの値を作成する:
{'a':[1,4], 'b':[2], 'c':[3]}
これはうまくいかない理由は想像もできませんが、最終的に特定の出力を得る方法を追加しました。
これは、電子メールの順序を維持しない:
def ind(contracts):
index={}
for contract in contracts:
index.setdefault(contract.email, []).append(contract.cid)
return index
秩序を維持するために、(例えば「A」で始まる)ファイルの先頭にfrom collects import OrderedDict
を追加し、この方法は次のとおりです。
def ind(contracts):
index = OrderedDict()
for contract in contracts:
index.setdefault(contract.email, []).append(contract.cid)
return index
index
のプリントアウトは違って見えますが、通常のdict
オブジェクトと同じように機能します(注文時のみ)。 (順序付き)
正確な出力:
def ind(contracts):
index = OrderedDict()
for contract in contracts:
if contract.email in index:
value = index[contract.email]
if not isinstance(value, list):
index[contract.email] = [value]
index[contract.email].append(contract.cid)
else:
index[contract.email] = contract.cid
return index
関連する問題
- 1. 処理(反復処理)
- 2. 反復処理
- 3. 反復処理
- 4. 反復処理
- 5. 反復処理
- 6. 反復処理
- 7. C-反復処理*
- 8. ハウツー反復処理
- 9. 反復処理angularjs
- 10. 反復処理グルーヴィーリスト
- 11. 反復処理リスト
- 12. 反復処理メモリ
- 13. 反復処理 - パンダ/ Pythonの
- 14. セットの反復処理
- 15. 反復処理特定データ
- 16. 反復処理し、SQL
- 17. 反復処理は、スキーム
- 18. 反復処理NativeScriptのGridLayout
- 19. 反復処理は/ pythonの
- 20. クラス処理、反復コード
- 21. データベースの反復処理
- 22. 反復処理のHashMap
- 23. Pythonのリストでペアを反復処理し、反復
- 24. Java for-loopが反復処理されていない、反復処理ではなく反復処理後にメソッドを停止する
- 25. オーダーのオブジェクトキューを反復処理する
- 26. カーソルの反復処理方法
- 27. Rubyはを反復処理し、方法
- 28. Python beautifulsoupテーブルを反復処理する
- 29. 反復処理によるメモリリークOpencvフレーム
- 30. 配列を反復処理し、