辞書をPythonで辞書にインポートしようとしています。 Python:リストに余分な数字が入った辞書を辞書に追加する
私はこのコードを書いた:def merge_tuples(line_a, line_b, line_c):
id_dict = dict()
for line in line_a:
if line[0] in id_dict:
id_dict[line[0]].append(line[1])
else:
id_dict[line[0]] = [line[1]]
for line in line_b:
if line[0] in id_dict:
id_dict[line[0]].append(line[1])
else:
id_dict[line[0]] = [line[1]]
for line in line_c:
if line[0] in id_dict:
id_dict[line[0]].append(line[1])
else:
id_dict[line[0]] = [line[1]]
return id_dict
if __name__ == "__main__":
line_a = ((1, 3), (3, 4), (10, 2))
line_b = ((1, 2), (2, 4), (5, 2))
line_c = ((1, 5), (3, 2), (7, 3))
print(merge_tuples(line_a, line_b, line_c))
を、私はこの結果を得た:{1: [3, 2, 5], 2: [4], 3: [4, 2], 5: [2], 7: [3], 10: [2]}
正しいです。
さて、私の質問は、私は変更する必要があるもの、である、または結果はこのように見えるように取得するための手順ものです:{1: [3, 2, 5], 2: [0, 4, 0], 3: [4, 0, 2], 5: [0, 2, 0], 7: [0, 0, 3],10: [2, 0, 0]}
リストの最初の要素はIDと見なされます。 ゼロは、このIDが最初のリストに見つかりませんでした。
あなたはループ用のコードで多くのコードを繰り返しています。それを関数に分割することを検討してください。 – erip